From nobody Mon Oct 20 04:38:32 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cqjNm3nJ2z6D9d0 for ; Mon, 20 Oct 2025 04:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cqjNm33Bvz3HFp; Mon, 20 Oct 2025 04:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760935112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7AeK46zxgBUtbb+XHfvD+eK4ZZMFivg6Oq08LlSh1Q=; b=cqb53LomWciZStHHRxmiz5YwsC0R139IM7/+At2Qxy1OzRZyeOqGI0fkGVn4C93ApQLgyE NyO0rXOSEgC4q+rwqIPOqNlsUtrRjutQ1Mg0YSr8POqKrWM4aTEZmggly6s5RrJzdFJqz5 Z9aG67EYPwjXCRNK25fuU5mMBf5tPjRic5aktMWS7PUWFbxV4+abGjXa9yu71f4gtTmX24 H0eMfyNM33g61cLX2C/acqLQMEHBb8Xizt8jed/pGx1vleLBSu5i88YLj9wX/kEh0ENAD6 HZLyhxd8CLhqgNz37i7DKO0tAobCeAiyn7tAAvHRL49iyFXbcJGb+IEZGlzBNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760935112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7AeK46zxgBUtbb+XHfvD+eK4ZZMFivg6Oq08LlSh1Q=; b=GS3yrIdVK87V1qATnfCHgXdS48jHx3U5/8vSVRrWyCOl4hd/CQyNdPD7QpIPAXjE+XksFr QpogiMijPFDvSw+vd19mafo9mvz+FuXeBI022Gaffhn/EX3BNw4i5iAkI0eCDXAvZrNweG Mez7QR7gvzRzN4Q3+b7IyK6ARceDg3mpZ7K1bmfGWzvSak4B8d70by0zXK+zSCUaAMuKkP aNusEjsJBoyN7odsSlJXuSYvM2xGhujo6EzVjdpT31jrb6MQw3qZub6SswlaGLy/uw0wH+ lQE/UFM3IXKZN9yn6rmlvalpww0hu4FegD75JFbGw+VEpvxacZtaenkP+B5zpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760935112; a=rsa-sha256; cv=none; b=e9ngWMQutjIAO7yChh3dSosOCmfeUELanRld2VXQFuwBPSaFNrcsa3B9zqrx2b6IFQdTIx Z3nWa935WO03KlHEi73mQPGjbv2tGwWLDoWVtOfiw9b68iEbwTyFUS/9g1Q57OvBc9cwBD eYbHEjAwIypCDIeUnExDOrPZBrbemJ/HIK+D2BU36o7szQA0r03pQgmxyn9CNKGlJdqlrB UM84FuNoLyy8+LA/xL57qH41O++Q6o7pUZjbQvFi8nNfJK3ZnKrEMEpp8D/nImIX7FvkE7 5CIgJLh8MjOpvHgUeLXMB5iJ9wxugpUTL3pTW4NyUTjb/iKBmxnR10xbB8IiTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cqjNm28rwzxjl; Mon, 20 Oct 2025 04:38:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59K4cWME020316; Mon, 20 Oct 2025 04:38:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59K4cWsR020313; Mon, 20 Oct 2025 04:38:32 GMT (envelope-from git) Date: Mon, 20 Oct 2025 04:38:32 GMT Message-Id: <202510200438.59K4cWsR020313@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 97845338c2 - main - 15.0: Spell "compatibility" more conventionally List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 97845338c2460daa1268785970c447eb7ab31c25 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=97845338c2460daa1268785970c447eb7ab31c25 commit 97845338c2460daa1268785970c447eb7ab31c25 Author: Colin Percival AuthorDate: 2025-10-20 04:37:38 +0000 Commit: Colin Percival CommitDate: 2025-10-20 04:37:38 +0000 15.0: Spell "compatibility" more conventionally The "comapt" was a typo, but it's probably more helpful to spell out the entire word anyway. Reported by: pfg --- website/content/en/releases/15.0R/relnotes.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/releases/15.0R/relnotes.adoc b/website/content/en/releases/15.0R/relnotes.adoc index 5763769b9a..503e7b337d 100644 --- a/website/content/en/releases/15.0R/relnotes.adoc +++ b/website/content/en/releases/15.0R/relnotes.adoc @@ -904,7 +904,7 @@ gitref:3965be101c43[repository=src] [[wireless-networking]] === Wireless Networking -The LinuxKPI 802.11 comapt layer man:linuxkpi_wlan[4] gained support for the Galois/Counter Mode Protocol (GCMP) from man:wlan_gcmp[4]. (Sponsored by The FreeBSD Foundation) +The LinuxKPI 802.11 compatibility layer man:linuxkpi_wlan[4] gained support for the Galois/Counter Mode Protocol (GCMP) from man:wlan_gcmp[4]. (Sponsored by The FreeBSD Foundation) The man:rtw88[4] driver was made to work (associate) again and a memory leak got resolved. (Sponsored by The FreeBSD Foundation) From nobody Mon Oct 20 05:51:32 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cql104NvQz6DGWP for ; Mon, 20 Oct 2025 05:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cql103dbJz3NVp; Mon, 20 Oct 2025 05:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760939492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U0jQHrY/44Vs/bSvFG+/ulKWa/zmdH7Bm+QJfCfz1Xw=; b=eCIh/AuYQKOfrDK0l0T53MoKsGCU+P3VQqfwyBr/+zGmfoWuRhCYImNGj4i6qiPwG9H2HD hIJOLLiIJ8kkIjBNbcnIexTCsT1KaluEI6omC+2t5W02u2gh6VQFA5+JH1YKJDkWf5hiwb KNtTk5W/PVDj06H7vWPQNKJRBMBgBKPz/dOQSUjRDRsOHe6Squn3QPrdhFKj9YS+T0BX3t PBMZrdwOA8xb6wjiG9AuPCYRZCFZML5kXULImyYJpqf1Csv/jmndTmM5z3szaKz8Bt6w9B K2UI3gqiBW3fsdklDC478l5RuQynHytb48JEqAL0xTZGaCXf+ogyBA4dOahCNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760939492; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U0jQHrY/44Vs/bSvFG+/ulKWa/zmdH7Bm+QJfCfz1Xw=; b=dnKiTNZy9HsLDSZBySYangJm9zIioA9iu9zj7834KMZ7m6KOAJiD+40mB8KdwbTBkfVv3F F3ayabCVARRax5p4xgBmSDUXqYcVZnJEwKElqH27zDaiQ/Y3AvFGVJVzR1zl9BnLFhikJ+ dDdOUq7INfALKi18RBwlaouhnsy1L7QwpmppmTSIQmb/y0fO4hyB4mNeQPREiZjlPvPtMA MJsdqM5XvdUjHXU8t+R3gINwFnT7SA6zWXBmv1mZ3vP2PeJzOv83rgG0gEzREtLjVpyB1O o2OBm6XA+ypsGxjEK+cZat/sk6jvAMFY6gY2o0FRIST8QkuBwIFm8cmmTN0e0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760939492; a=rsa-sha256; cv=none; b=bq4VGAFpeweI+oaYSU+8EwCQOwJM023hgIAsHopgg0l66JQglSpAvJLJwDY8hsBICpbL6F nzXqHXIY+nPSqFYQ9bl7y5f+TM/lLwFWdjodaqJPMyDhRAP/rcMx0B7l1FGGHuYEiVaacs B3bOO6covhsxPX9OPNUZk9iQ58xoRk0t+Xqu9dzi3yDclkzuDO6dTzVQLrGJml0Hc9mpN1 4GdKcgg1x/Mjs4CMQcekHm7PeUz0WYwbR+1+qbM7q0xYqjCdL5hqUiYcGZaGicUAhI3Mm3 V3m8/5l6pgojm59HYCbE4DBigMjbJe+qUpKRjyYIdBO75uYzf3Wn++T5UBu0ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cql103CQmz10vd; Mon, 20 Oct 2025 05:51:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59K5pWwm066219; Mon, 20 Oct 2025 05:51:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59K5pWGD066216; Mon, 20 Oct 2025 05:51:32 GMT (envelope-from git) Date: Mon, 20 Oct 2025 05:51:32 GMT Message-Id: <202510200551.59K5pWGD066216@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Zhenlei Huang Subject: git: a620acecec - main - pgpkeys: Extend my key's expiration dates List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a620acececae272de4c48b5bbb5075a9104dc314 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/doc/commit/?id=a620acececae272de4c48b5bbb5075a9104dc314 commit a620acececae272de4c48b5bbb5075a9104dc314 Author: Zhenlei Huang AuthorDate: 2025-10-20 05:51:08 +0000 Commit: Zhenlei Huang CommitDate: 2025-10-20 05:51:08 +0000 pgpkeys: Extend my key's expiration dates --- documentation/static/pgpkeys/zlei.key | 118 +++++++++++++++++----------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/documentation/static/pgpkeys/zlei.key b/documentation/static/pgpkeys/zlei.key index ff3cf9708e..0a100efcb8 100644 --- a/documentation/static/pgpkeys/zlei.key +++ b/documentation/static/pgpkeys/zlei.key @@ -2,12 +2,12 @@ [.literal-block-margin] .... -pub rsa4096/5A038D27FDE1A833 2022-10-19 [C] [expires: 2025-10-19] +pub rsa4096/5A038D27FDE1A833 2022-10-19 [C] [expires: 2028-10-28] Key fingerprint = 8013 DC43 2366 74AB 6897 BC6C 5A03 8D27 FDE1 A833 uid Zhenlei Huang uid Zhenlei Huang -sub ed25519/C6249E8981B7745F 2022-10-30 [S] [expires: 2025-10-19] -sub cv25519/2F2EF340460FCEAA 2022-10-30 [E] [expires: 2025-10-19] +sub ed25519/C6249E8981B7745F 2022-10-30 [S] [expires: 2028-10-28] +sub cv25519/2F2EF340460FCEAA 2022-10-30 [E] [expires: 2028-10-28] .... @@ -27,61 +27,61 @@ I14bLnMzfHGJr96uQyRLP3clvb7fNykPPmLr1/UrUdPCYvdgjvG7oVcT3kv3nsi/ 2rdYZaAqSE0VDZyyk8LaIu4jCoU+zrop5t6kp21LPRy7n95Fj21NCa8RiuPHRMA9 nqLljhLCG6/JRdEcztIOChFAEBMr+Wa0zmH3taCbpyUMCt0Ub9+HaedFdQARAQAB tCRaaGVubGVpIEh1YW5nIDx6bGVpLmh1YW5nQGdtYWlsLmNvbT6JAlcEEwEKAEEC -HgECF4AFCQWk6JECGQECGwEWIQSAE9xDI2Z0q2iXvGxaA40n/eGoMwUCY2CgsgUL -CQgHAwUVCgkICwUWAwIBAAAKCRBaA40n/eGoM0c3EADVOCQQhig48KGSg+YfSDqa -lDKIGZa08ij3fa0zAsMofA837ETPEdop1HSVrLnQQpU/6LXR4C/WwkcovxsjtfRp -kMdZnM5E2IlcdyN4j0DxFgfeCzK2mv2lLPaMdt2D0wYVJJjYFzf6SSmPSMn59Pgv -R/pM27NSlQ63TbknYqfwGpaJ2qsh49C9W1Mp/vLkUNF92aG0a7QH1ov/6iz/5w4e -YKZx9GQVD+fY/ocek0c5Q75bGN2mzKOVIytIUtSohFhv3matH3Xd2CQO/PYGkQnq -p0rDaJKkrbD43KHwn8QkWsXcELvugdgr769ezgWSu5jYRQyzwCHDwwGaa1kSO6as -dj8v/1qu1j3zFAKdFTltTg1/lSgOLK8JH70jL2LFmaEBqFsqdX1voxrf6xuj6C39 -GnyUyZ0a2lNM+yDJF3KJodr/cpwC0C8Sk/x1tVIxj0WfAqf6Qx7qLaThJQ1DexrV -X9CNitDE0MFp77/26HG+69nH9qWM9qHuf2nhUb2DNlzBuY5SIhaCwhG4hC52KjQ6 -0Hh9ICIlACLlLirjK+UecbSkilh0aUGLSHmdB8AWn90q6yo6Y+CRiusdQyihSKAe -96OBIJruyAsojAAttOu9YrStldqf60QKxuC5lUyxdye2/9x6R/80TQ+54h8WuqYS -vBe8CaOb3SCcb+jEOVRGj7QgWmhlbmxlaSBIdWFuZyA8emxlaUBGcmVlQlNELm9y -Zz6JAlQEEwEKAD4CGwMCHgECF4AFCQWk6JEWIQSAE9xDI2Z0q2iXvGxaA40n/eGo -MwUCY2CgsgULCQgHAwUVCgkICwUWAwIBAAAKCRBaA40n/eGoM63vEADIwX2JQLJb -IzSb9L7/Nt7O/kle17Uxf58U4MJt400mWv0EzBySXiaY0z4Z2iXnrdCozzwC6qJA -Tfsgu+wy25ACm7Qybuk5SU7dBkZYR4fE9lyvxR3DJs68VK2bTZucPEASpR2Lmt8U -mDnXh4mfW6RWbyabU3T/cZ2ILueMJPusFvpCQBgWSe7r5EcJSKzSx2WU3rRlyG0w -u4Kh4Q+cl68kz9J7tkyx/qhvcb3+hO+uMkVNc6LEJi60dBd+7tcfHydnZIKMlTAX -58QvdXZG8mxjE0L+iGbI8agoXxSP83ySwsCOVauf9TgbqI2t/R0qcD7gNl1vtyZG -VP8rg0Yci9cQ6spi9Sut9RC0W5jOcPSHu6+BLz5bP/PjTpRlz+UYpei3jJS+nQ57 -uP9Rp0V/IctWfIpwFHvadERj2Z4sCD+p4vx1CoPg/hgpDSykZiuJwXYqYqdCULLk -TNSPYAxiplALsSxlFCI59HC5m+18xjkzu9oxL7i3EK7K+Zo3Uy0Am2NhuNXkdzWc -iSl4+Ef0m1GB1EWVMHtKjeDXW3sBQoBrD222UFJi0n6XEoQ0PfP4IM+XnWhyUEs2 -SoeBOudhzVQtYTQfGbIRGGQGzk557VyvsqDIFLMhW5j8jwOn2/hE51lqUU6uybdS -iyoHyEW3X3Eb50MjjuOPJaY8GI+9iiAeJbgzBGNeVfIWCSsGAQQB2kcPAQEHQH+3 -baX1398qI7NDi6Yh4sPyeM74n3UVsrk7A4Zo+MjyiQKzBBgBCAAmFiEEgBPcQyNm -dKtol7xsWgONJ/3hqDMFAmNeVfICGwIFCQWV1A4AgQkQWgONJ/3hqDN2IAQZFggA -HRYhBGPbxiY2jAZfWKwmDsYknomBt3RfBQJjXlXyAAoJEMYknomBt3Rfo0sBAN0M -ADIm84s7lM75GNyEqDdrvtseBeHcoSoG57HywTlXAP4ybLIMOLPx2P0e8LgWn9k3 -e2xjvw6l+loBZ3eh9UUhBOYqD/9WPMPjafZ7XvIHeXt93fpT68qpOtQSRKC8YSV4 -N3ATggmqheHs5gY51TFYBlAaQRxZDlWwEWW6njV09MIFUjPomRUxRSmXehdV3RU0 -dCxgeiNu0xw24cM602tqjcgjl9CjZ3v5BJ7lShpYgKJ1pMpZCoaGLf77i/8DWdcx -UKofatOoHP8fqgRnSW3+gdaQN8BjkLRcrZvP9c9ftZ/FkxcTJzqUdu9uLwfL89v5 -m9Id5B8vUCAcJpBt4xs4/xwGTStFOuBN1b2HSBOnLDLVn+6kosJm/0pHDCVbdDia -0klKAe3xx5GI9d4bA0FB6D97ssxU4p+A2KNQr1WR2iNvvknJ4FUamnjxnFhQiRNs -P7Kx9AACc3UHd5EjgY5P7XOrhrg0V956GSArYUGNDG+SGSbksh5xSBl9xzb2MW2s -7GvSpfRzNdSZwgFXzTqdJ/i7kuAKgSbD118VFOqIlDcmVyB//jxlesl3Ful4XCZC -8TUdPgdNVffPwbJ2Sgx55FJdBq6+XmwHymla1MucALM6b+PQovRn/3y/okHcG/EG -mOyDbRQizQfqtHBxzu+DqWcI3Sbll6jktWENP214DnA2OtvOj3cuA6bAaILBI+jt -ERkkt2X7wRPEKemaHOWAu/v5d6yRM1Xjd8EaSzJPufg510EF48NSwV9XGGwqyBjx -E4NSBrg4BGNeVhQSCisGAQQBl1UBBQEBB0AN75dsSl/IhrqPGhS1mkXC+dJkN219 -ZXRYR6QWz2y8HgMBCAeJAjwEGAEIACYWIQSAE9xDI2Z0q2iXvGxaA40n/eGoMwUC -Y15WFAIbDAUJBZXT7AAKCRBaA40n/eGoMwzuD/9qonujDoHofbiBg2W6pR6ASqk3 -gVLgOHNFepzVXLWKFQntbcmNMR5fA9pTJpmR9XN1IpQmaBygo6hanIRwq2PVz+8J -9rQLMHiaWUjhj5XyG80v8k4YjlCPxyeMtdVahLs+cnqAoB4CX/4mR10m3cbUdy5i -d0UHEEzs/BuVPnRrHUN1vai4N7kIsFz6EJ1i4UNEXvYkII1dXlD5Pt0TiUqewynG -EV9MJGiy3OGN1pGmjg4HOXvZiXiSL9+v0CWXX4wHr6ygpUhkC2rh92VjSxKYaurf -CEgBOUeJE5WHQdXwcc+tYEFTNlzUaLAm0DtV4ySwLelFQz324LvWdn+lltLLy8QK -HeONc61bOfaSzbOidWrmCfCFSY/nQ9w/MnaygVAE/mUNaCH4EbLIZI//Z4EcMags -pYP3Ow/l5Xe/qA0PZXUFH46Vt9leLcZuOu8BHEBd+HkNkvg7eSEM5C29tXpegWnT -KT/l6cjXryExYmprdbLQwI/rJ2mfiBfCxxgSeh3xKo9/DV6OihOUsM0YJaYhFD0W -vreL99FX1YnHdHN/iVb6mrvTRTs1ZbFBEP7PAmAlc47oAup6L+CxbHmCe2QTIq03 -gUlfOsVVHCz5Gwfy59+UHKgT9/QP3Lw5SU7KR5cXHUaoUuqeiz30xIHoannzo0v+ -UtTeuI3qMeXD7cThnQ== -=hhwY +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 +j6+KAhXx2JB+YC9VHA== +=cvwx -----END PGP PUBLIC KEY BLOCK----- .... From nobody Mon Oct 20 08:11:45 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cqp6r0KXWz6DRFP for ; Mon, 20 Oct 2025 08:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cqp6q6f5yz3ZZG; Mon, 20 Oct 2025 08:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760947908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LosE9hV6X7/Sedg0AICahBnJau76ZW2za8xKvKIuTFw=; b=ZkO8QrnakRkbJhnwZfF68Xpb9qPTRZ0fRVnktAVG/LSm7V8BOQjCdNetwZiUCh1jS3wvWY kuvb9Ts703R0aVu/T/YeXBxi6t9u56RC6ylk9fuRbvXjYzpM7sXPe5zmmq2mbg58zwudWS Dde23h3XmmTr85SAp7cUwD9upT2EcyLIVJM7WRwNjNOcJ3flFsOAUDzSa2pYgGbLkxSN5v AiqFQJKz6s69U3emXZIbsUgFEfi9IJyzGf6RumOP5L+nds+OZ5otKHMg+DHIZN6d50lkLu zqT0sGl4eCRbTZuWcDzRJjzKWE4NoVa0ZkMYGotMzBOig/3cGyzXmwet/UCBTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760947908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LosE9hV6X7/Sedg0AICahBnJau76ZW2za8xKvKIuTFw=; b=rM8uaJivaiZKvh5Ad5+yneF/FJbH5V12gFOoWp+OaV9oNax8re1i8r07927oMilMDHOpd/ prPMUYo1GqL8qWJPJQjXrVf4pwJGunIJoG7uBW3IvSETbaItxzjOfbVNIiixEA5VF+WdTV OYceNgcJYrGEFVDMpYmTqVHyvgD2Y0jMQ2Fnvep/BTO7eywYA+jxS5uafgbxjzHbfMhR4A JSQCjKa+Xk75sesCyPz56dMcZP+YBj/9z+6Ox6zu+WoBuLyAptxoMTKCdjIvk34uGfKlFz k8ITrdX+4LE9jIXXXXxmF9fHRemognpd0sLMsrBssxqd/yiL8tPo6qAV19wrNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760947908; a=rsa-sha256; cv=none; b=l/98UV/qgCcTNFImeau7i0ThV4ORxDXgzKVbBh1WF3uiN0jBJdbWJ97fPdUcLfAeTQgy+F h0B9R6QjF9aJUBFjUYaL49OmFugeW1q1GDLRsjT0YE6cn4HH0T0TfJ5BZn9U5hVDfahkr5 U43CPLVe7r+oXadhzvslvx2Agxhj2sXcOqBvMlkUEm6mBA8DplO093B0PHkuSoXxAn4+4A gBREptSJMsB28OINLcZzVpNK1ohcd8y8C7rFWHDg7I/sn+ehGHjPOt09Vs33DiHo+whngm oAOaSmUWWUwevWYd6DxhLFSvlwmzoEKPc0TMxiZn48Orz8OTjOORdwbruocZEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cqp6q6DhPz14r5; Mon, 20 Oct 2025 08:11:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59K8Bl80031106; Mon, 20 Oct 2025 08:11:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59K8Bjwg031085; Mon, 20 Oct 2025 08:11:45 GMT (envelope-from git) Date: Mon, 20 Oct 2025 08:11:45 GMT Message-Id: <202510200811.59K8Bjwg031085@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 0ab84b3952 - main - update translation of books/handbook to Russian List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ab84b3952512726d55fdffa6f13319bbae3a5db Auto-Submitted: auto-generated The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=0ab84b3952512726d55fdffa6f13319bbae3a5db commit 0ab84b3952512726d55fdffa6f13319bbae3a5db Author: Vladlen Popolitov AuthorDate: 2025-10-20 08:11:35 +0000 Commit: Vladlen Popolitov CommitDate: 2025-10-20 08:11:35 +0000 update translation of books/handbook to Russian Reviewed by: mizhka Differential Revision: https://reviews.freebsd.org/D52052 --- .../content/ru/books/handbook/_index.adoc | 23 +- documentation/content/ru/books/handbook/_index.po | 37 + .../books/handbook/advanced-networking/_index.adoc | 2721 +++---- .../books/handbook/advanced-networking/_index.po | 6227 +++++++++++++++ .../content/ru/books/handbook/audit/_index.adoc | 232 +- .../content/ru/books/handbook/audit/_index.po | 1478 ++++ .../content/ru/books/handbook/basics/_index.adoc | 1348 ++-- .../content/ru/books/handbook/basics/_index.po | 5631 +++++++++++++ .../ru/books/handbook/bibliography/_index.adoc | 166 +- .../ru/books/handbook/bibliography/_index.po | 407 + documentation/content/ru/books/handbook/book.adoc | 30 +- documentation/content/ru/books/handbook/book.po | 37 + .../content/ru/books/handbook/boot/_index.adoc | 454 +- .../content/ru/books/handbook/boot/_index.po | 1260 +++ .../ru/books/handbook/bsdinstall/_index.adoc | 1501 ++-- .../content/ru/books/handbook/bsdinstall/_index.po | 4699 +++++++++++ .../content/ru/books/handbook/colophon.adoc | 48 + .../content/ru/books/handbook/colophon.po | 41 + .../content/ru/books/handbook/config/_index.adoc | 1757 ++-- .../content/ru/books/handbook/config/_index.po | 4207 ++++++++++ .../ru/books/handbook/cutting-edge/_index.adoc | 1048 ++- .../ru/books/handbook/cutting-edge/_index.po | 3089 +++++++ .../content/ru/books/handbook/desktop/_index.adoc | 1162 ++- .../content/ru/books/handbook/desktop/_index.po | 2439 ++++++ .../content/ru/books/handbook/disks/_index.adoc | 2613 +++--- .../content/ru/books/handbook/disks/_index.po | 6457 +++++++++++++++ .../content/ru/books/handbook/dtrace/_index.adoc | 247 + .../content/ru/books/handbook/dtrace/_index.po | 723 ++ .../ru/books/handbook/eresources/_index.adoc | 1033 +-- .../content/ru/books/handbook/eresources/_index.po | 681 ++ .../ru/books/handbook/filesystems/_index.adoc | 437 +- .../ru/books/handbook/filesystems/_index.po | 473 ++ .../ru/books/handbook/firewalls/_index.adoc | 2622 +++--- .../content/ru/books/handbook/firewalls/_index.po | 7503 +++++++++++++++++ .../content/ru/books/handbook/geom/_index.adoc | 1020 ++- .../content/ru/books/handbook/geom/_index.po | 3158 ++++++++ .../content/ru/books/handbook/glossary.adoc | 1046 +++ .../content/ru/books/handbook/glossary.po | 3320 ++++++++ .../content/ru/books/handbook/introduction.adoc | 10 +- .../content/ru/books/handbook/introduction.po | 62 + .../ru/books/handbook/introduction/_index.adoc | 226 +- .../ru/books/handbook/introduction/_index.po | 1079 +++ .../content/ru/books/handbook/jails/_index.adoc | 1157 +++ .../content/ru/books/handbook/jails/_index.po | 3233 ++++++++ .../ru/books/handbook/kernelconfig/_index.adoc | 1129 +-- .../ru/books/handbook/kernelconfig/_index.po | 940 +++ .../content/ru/books/handbook/l10n/_index.adoc | 337 +- .../content/ru/books/handbook/l10n/_index.po | 1664 ++++ .../content/ru/books/handbook/linuxemu/_index.adoc | 2224 +----- .../content/ru/books/handbook/linuxemu/_index.po | 1050 +++ .../content/ru/books/handbook/mac/_index.adoc | 1048 +-- .../content/ru/books/handbook/mac/_index.po | 3115 ++++++++ .../content/ru/books/handbook/mail/_index.adoc | 1164 ++- .../content/ru/books/handbook/mail/_index.po | 2539 ++++++ .../content/ru/books/handbook/mirrors/_index.adoc | 862 +- .../content/ru/books/handbook/mirrors/_index.po | 1581 ++++ .../ru/books/handbook/multimedia/_index.adoc | 1132 +-- .../content/ru/books/handbook/multimedia/_index.po | 1720 ++++ .../ru/books/handbook/network-servers/_index.adoc | 2969 ++++--- .../ru/books/handbook/network-servers/_index.po | 8400 ++++++++++++++++++++ .../content/ru/books/handbook/network/_index.adoc | 927 +++ .../content/ru/books/handbook/network/_index.po | 2526 ++++++ documentation/content/ru/books/handbook/parti.adoc | 23 +- documentation/content/ru/books/handbook/parti.po | 86 + .../content/ru/books/handbook/partii.adoc | 26 +- documentation/content/ru/books/handbook/partii.po | 87 + .../content/ru/books/handbook/partiii.adoc | 14 +- documentation/content/ru/books/handbook/partiii.po | 55 + .../content/ru/books/handbook/partiv.adoc | 26 +- documentation/content/ru/books/handbook/partiv.po | 81 + documentation/content/ru/books/handbook/partv.adoc | 12 +- documentation/content/ru/books/handbook/partv.po | 31 + .../content/ru/books/handbook/pgpkeys/_index.adoc | 18 +- .../content/ru/books/handbook/pgpkeys/_index.po | 89 + .../content/ru/books/handbook/ports/_index.adoc | 1445 ++-- .../content/ru/books/handbook/ports/_index.po | 3481 ++++++++ .../ru/books/handbook/ppp-and-slip/_index.adoc | 1663 +--- .../ru/books/handbook/ppp-and-slip/_index.po | 2374 ++++++ .../content/ru/books/handbook/preface/_index.adoc | 320 +- .../content/ru/books/handbook/preface/_index.po | 1485 ++++ .../content/ru/books/handbook/printing/_index.adoc | 2655 ++----- .../content/ru/books/handbook/printing/_index.po | 2055 +++++ .../content/ru/books/handbook/security/_index.adoc | 2707 +++---- .../content/ru/books/handbook/security/_index.po | 5993 ++++++++++++++ .../ru/books/handbook/serialcomms/_index.adoc | 1290 +-- .../ru/books/handbook/serialcomms/_index.po | 3226 ++++++++ .../ru/books/handbook/usb-device-mode/_index.adoc | 268 + .../ru/books/handbook/usb-device-mode/_index.po | 692 ++ .../ru/books/handbook/virtualization/_index.adoc | 2259 ++++++ .../ru/books/handbook/virtualization/_index.po | 6769 ++++++++++++++++ .../content/ru/books/handbook/wayland/_index.adoc | 427 +- .../content/ru/books/handbook/wayland/_index.po | 1725 ++++ .../content/ru/books/handbook/wine/_index.adoc | 780 ++ .../content/ru/books/handbook/wine/_index.po | 2968 +++++++ .../content/ru/books/handbook/x11/_index.adoc | 1184 ++- .../content/ru/books/handbook/x11/_index.po | 2489 ++++++ .../content/ru/books/handbook/zfs/_index.adoc | 2526 ++++++ .../content/ru/books/handbook/zfs/_index.po | 7393 +++++++++++++++++ 98 files changed, 146555 insertions(+), 24636 deletions(-) diff --git a/documentation/content/ru/books/handbook/_index.adoc b/documentation/content/ru/books/handbook/_index.adoc index 7fba62817b..9c818377bb 100644 --- a/documentation/content/ru/books/handbook/_index.adoc +++ b/documentation/content/ru/books/handbook/_index.adoc @@ -1,21 +1,22 @@ --- -title: Руководство FreeBSD +add_single_page_link: true authors: - - author: Проект Документации FreeBSD -copyright: 1995-2025 The FreeBSD Documentation Project -description: A constantly evolving, comprehensive resource for FreeBSD users -trademarks: ["freebsd", "ibm", "ieee", "redhat", "3com", "adobe", "apple", "intel", "linux", "microsoft", "opengroup", "sun", "realnetworks", "oracle", "3ware", "arm", "adaptec", "google", "heidelberger", "intuit", "lsilogic", "themathworks", "thomson", "vmware", "wolframresearch", "xiph", "xfree86", "general"] -tags: ["FreeBSD Handbook", "Handbook"] + - + author: 'The FreeBSD Documentation Project' +bookOrder: 1 +copyright: '1995-2025 The FreeBSD Documentation Project' +description: 'Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD' next: books/handbook/preface -add_single_page_link: true +params: + path: /books/handbook/ showBookMenu: true +tags: ["FreeBSD Handbook", "Handbook"] +title: 'Руководство FreeBSD' +trademarks: ["freebsd", "ibm", "ieee", "redhat", "3com", "adobe", "apple", "intel", "linux", "microsoft", "opengroup", "sun", "realnetworks", "oracle", "3ware", "arm", "adaptec", "google", "heidelberger", "intuit", "lsilogic", "themathworks", "thomson", "vmware", "wolframresearch", "xiph", "xfree86", "general"] weight: 0 -params: - path: "/books/handbook/" -bookOrder: 1 --- -= FreeBSD Handbook += Руководство FreeBSD :doctype: book :toc: macro :toclevels: 1 diff --git a/documentation/content/ru/books/handbook/_index.po b/documentation/content/ru/books/handbook/_index.po new file mode 100644 index 0000000000..7b7ee75796 --- /dev/null +++ b/documentation/content/ru/books/handbook/_index.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov , 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-20 11:02+0300\n" +"PO-Revision-Date: 2025-05-26 08:57+0000\n" +"Last-Translator: Vladlen Popolitov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/handbook/_index.adoc:1 +#, no-wrap +msgid "A constantly evolving, comprehensive resource for FreeBSD users" +msgstr "Постоянно развивающийся и всеобъемлющий ресурс для пользователей FreeBSD" + +#. type: Title = +#: documentation/content/en/books/handbook/_index.adoc:1 +#: documentation/content/en/books/handbook/_index.adoc:18 +#, no-wrap +msgid "FreeBSD Handbook" +msgstr "Руководство FreeBSD" + +#. type: Plain text +#: documentation/content/en/books/handbook/_index.adoc:54 +msgid "'''" +msgstr "'''" diff --git a/documentation/content/ru/books/handbook/advanced-networking/_index.adoc b/documentation/content/ru/books/handbook/advanced-networking/_index.adoc index 4687e8358c..1ccb828049 100644 --- a/documentation/content/ru/books/handbook/advanced-networking/_index.adoc +++ b/documentation/content/ru/books/handbook/advanced-networking/_index.adoc @@ -1,12 +1,14 @@ --- -title: Глава 27. Сложные вопросы работы в сети -part: Часть IV. Сетевые коммуникации -prev: books/handbook/firewalls +description: 'Сложные вопросы работы в сети в FreeBSD: основы шлюзов и маршрутов, CARP, настройка нескольких VLAN в FreeBSD и так далее' next: books/handbook/partv -showBookMenu: true -weight: 32 params: - path: "/books/handbook/advanced-networking/" + path: /books/handbook/advanced-networking/ +part: 'IV. Сетевое взаимодействие' +prev: books/handbook/firewalls +showBookMenu: true +tags: ["Advanced Networking", "Handbook", "gateway", "routes", "wireless", "tethering", "bluetooth", "bridging", "CARP", "VLAN"] +title: 'Глава 34. Сложные вопросы работы в сети' +weight: 39 --- [[advanced-networking]] @@ -17,7 +19,7 @@ params: :icons: font :sectnums: :sectnumlevels: 6 -:sectnumoffset: 27 +:sectnumoffset: 34 :partnums: :source-highlighter: rouge :experimental: @@ -48,204 +50,164 @@ include::../../../../../shared/asciidoctor.adoc[] endif::[] [[advanced-networking-synopsis]] -== Краткий обзор +== Обзор -Эта глава охватывает множество различных сетевых тематик повышенной сложности. +Эта глава охватывает ряд сложных тем, связанных с сетями. -После чтения этой главы вы будете знать: +Прочитав эту главу, вы будете знать: -* Основные понятия о маршрутизации и маршрутах. -* Как настроить IEEE 802.11 и Bluetooth(R). -* Как заставить FreeBSD работать в качестве сетевого моста. -* Как настроить загрузку по сети для бездисковой машины. -* Как настроить трансляцию сетевых адресов. -* Как соединить два компьютера посредством PLIP. -* Как настроить IPv6 на машине FreeBSD. -* Как настроить ATM. +* Основы шлюзов и маршрутов. +* Как настроить USB-тетеринг. +* Как настроить устройства IEEE(R) 802.11 и Bluetooth(R). +* Как сделать так, чтобы система FreeBSD работала как мост. +* Как настроить загрузку системы из сети с помощью PXE. +* Как включить и использовать возможности протокола Common Address Redundancy Protocol (CARP) в FreeBSD. +* Как настроить несколько VLAN в FreeBSD. +* Как настроить гарнитуру Bluetooth. -Перед чтением этой главы вы должны: +Прежде чем читать эту главу, вы должны: -* Понимать основы работы скриптов [.filename]#/etc/rc#. -* Свободно владеть основными сетевыми терминами. -* Знать как настраивать и устанавливать новое ядро FreeBSD (crossref:kernelconfig[kernelconfig, Настройка ядра FreeBSD]). -* Знать как устанавливать дополнительное программное обеспечение сторонних разработчиков (crossref:ports[ports, Установка приложений. порты и пакеты]). +* Понимать основы скриптов [.filename]#/etc/rc#. +* Знать основные термины и понятия сетевых технологий. +* Понимать базовые настройки сети в FreeBSD (crossref:network[network,Сеть FreeBSD]). +* Знать, как настроить и установить новое ядро FreeBSD (crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]). +* Знать, как устанавливать дополнительное стороннее программное обеспечение (crossref:ports[ports,Установка приложений: Пакеты и Порты]). [[network-routing]] -== Сетевые шлюзы и маршруты +== Шлюзы и Маршруты -Чтобы некоторая машина могла найти в сети другую, должен иметься механизм описания того, как добраться от одной машине к другой. Такой механизм называется _маршрутизацией_. "Маршрут" задаётся парой адресов: "адресом назначения" (destination) и "сетевым шлюзом" (gateway). Эта пара указывает на то, что если Вы пытаетесь соединиться с _адресом назначения_, то вам нужно устанавливать связь через "сетевой шлюз". Существует три типа адресов назначения: отдельные хосты, подсети и "маршрут по умолчанию" (default). "Маршрут по умолчанию" (default route) используется, если не п одходит ни один из других маршрутов. Мы поговорим немного подробнее о маршрутах по умолчанию позже. Также имеется и три типа сетевых шлюзов: отдельные хосты, интерфейсы (также называемые "подключениями" (links)) и аппаратные адреса Ethernet (MAC-адреса). +_Маршрутизация_ — это механизм, позволяющий системе находить сетевой путь к другой системе. _Маршрут_ — это определенная пара адресов, представляющих "назначение" и "шлюз". Маршрут указывает, что при попытке достичь указанного назначения пакеты должны отправляться через указанный шлюз. Существует три типа назначений: отдельные хосты, подсети и "маршрут по умолчанию". "Маршрут по умолчанию" используется, если не подходит ни один другой маршрут. Также существует три типа шлюзов: отдельные хосты, интерфейсы (также называемые линками) и аппарат ные (MAC) адреса Ethernet. Известные маршруты хранятся в таблице маршрутизации. -=== Пример +В этом разделе представлен обзор основ маршрутизации. Затем показано, как настроить систему FreeBSD в качестве маршрутизатора, и даны некоторые советы по устранению неполадок. -Для иллюстрации различных аспектов маршрутизации мы будем использовать следующий пример использования команды `netstat`: +[[network-routing-default]] +=== Основы маршрутизации + +Для просмотра таблицы маршрутизации системы FreeBSD используйте man:netstat[1]: -[source,shell] +[source, shell] .... % netstat -r Routing tables +Internet: Destination Gateway Flags Refs Use Netif Expire - -default outside-gw UGSc 37 418 ppp0 -localhost localhost UH 0 181 lo0 -test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 -10.20.30.255 link#1 UHLW 1 2421 -example.com link#1 UC 0 0 -host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 -host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => -host2.example.com link#1 UC 0 0 -224 link#1 UC 0 0 +default outside-gw UGS 37 418 em0 +localhost localhost UH 0 181 lo0 +test0 0:e0:b5:36:cf:4f UHLW 5 63288 re0 77 +10.20.30.255 link#1 UHLW 1 2421 +example.com link#1 UC 0 0 +host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 +host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => +host2.example.com link#1 UC 0 0 +224 link#1 UC 0 0 .... -В первых двух строках задаются маршрут по умолчанию (который будет описан в <>) и маршрут на `localhost`. +Записи в этом примере следующие: -Интерфейс (колонка `Netif`), который указан в этой таблице маршрутов для использования с `localhost` и который назван [.filename]#lo0#, имеет также второе название, устройство loopback. Это значит сохранение всего трафика для указанного адреса назначения внутри, без посылки его по сети, так как он все равно будет направлен туда, где был создан. - -Следующими выделяющимися адресами являются адреса, начинающиеся с `0:e0:...`. Это аппаратные адреса Ethernet, или MAC-адреса. FreeBSD будет автоматически распознавать любой хост (в нашем примере это `test0`) в локальной сети Ethernet и добавит маршрут для этого хоста, указывающий непосредственно на интерфейс Ethernet, [.filename]#ed0#. С этим типом маршрута также связан параметр таймаута (колонка `Expire`), используемый в случае неудачной попытки услышать этот хост в течении некоторого периода времени. Если такое происходит, то маршрут до этого хоста будет автоматически уда ён. Такие хосты поддерживаются при помощи механизма, известного как RIP (Routing Information Protocol), который вычисляет маршруты к хостам локальной сети при помощи определения кратчайшего расстояния. +default:: +Первый маршрут в этой таблице указывает маршрут по умолчанию (`default`). Когда локальной системе требуется установить соединение с удалённым узлом, она проверяет таблицу маршрутизации, чтобы определить, существует ли известный путь. Если удалённый узел соответствует записи в таблице, система проверяет, может ли она подключиться, используя интерфейс, указанный в этой записи. ++ +Если назначение не соответствует ни одной записи или если все известные пути недоступны, система использует запись для маршрута по умолчанию. Для хостов в локальной сети поле `Gateway` в маршруте по умолчанию указывает на систему, имеющую прямое подключение к Интернету. При чтении этой записи убедитесь, что столбец `Flags` указывает на то, что шлюз доступен (`UG`). ++ +Маршрут по умолчанию для машины, которая сама функционирует как шлюз во внешний мир, будет шлюзом провайдера интернет-услуг (ISP). -FreeBSD добавит также все маршруты к подсетям для локальных подсетей (`10.20.30.255` является широковещательным адресом для подсети `10.20.30`, а имя `example.com` является именем домена, связанным с этой подсетью). Назначение `link#1` соответствует первому адаптеру Ethernet в машине. Отметьте отсутствие дополнительного интерфейса для этих строк. +localhost:: +Второй маршрут — это маршрут `localhost`. Интерфейс, указанный в столбце `Netif` для `localhost`, — это [.filename]#lo0#, также известное как loopback-устройство. Это означает, что весь трафик для этого назначения должен быть внутренним, а не отправляться через сеть. -В обеих этих группах (хосты и подсети локальной сети) маршруты конфигурируются автоматически даемоном, который называется routed. Если он не запущен, то будут существовать только статически заданные (то есть введенные явно) маршруты. +MAC адрес:: +Адреса, начинающиеся с `0:e0:`, являются MAC-адресами. FreeBSD автоматически определит любые хосты, например `test0`, в локальной сети Ethernet и добавит маршрут для этого хоста через интерфейс Ethernet [.filename]#re0#. Такой маршрут имеет время жизни, указанное в столбце `Expire`, которое используется, если хост не отвечает в течение определённого времени. В этом случае маршрут к этому хосту будет автоматически удалён. Эти хосты определяются с помощью Протокола маршрутной информации (RIP — Routing Information Protocol), который вычисляет маршруты к локальным хостам на основе опреде ения кратчайшего пути. -Строка `host1` относится к нашему хосту, который известен по адресу Ethernet. Так как мы являемся посылающим хостом, FreeBSD знает, что нужно использовать loopback-интерфейс ([.filename]#lo0#) вместо того, чтобы осуществлять посылку в интерфейс Ethernet. +subnet:: +FreeBSD автоматически добавит маршруты для локальной подсети. В этом примере `10.20.30.255` — это широковещательный адрес для подсети `10.20.30`, а `example.com` — доменное имя, связанное с этой подсетью. Обозначение `link#1` относится к первой Ethernet-карте в машине. ++ +Локальные хосты сети и локальные подсети автоматически получают маршруты через демон man:routed[8]. Если он не запущен, будут существовать только маршруты, статически определённые администратором. -Две строки `host2` являются примером того, что происходит при использовании алиасов в команде man:ifconfig[8] (обратитесь к разделу об Ethernet для объяснения того, почему мы это делаем). Символ `=>` после интерфейса [.filename]#lo0# указывает на то, что мы используем не просто интерфейс loopback (так как это адрес, обозначающий локальный хост), но к тому же это алиас. Такие маршруты появляются только на хосте, поддерживающем алиасы; для всех остальных хостов в локальной сети для таких маршрутов будут показаны просто строчки `link#1`. +host:: +Строка `host1` ссылается на хост по его Ethernet-адресу. Поскольку это отправляющий хост, FreeBSD использует loopback-интерфейс ([.filename]#lo0#) вместо Ethernet-интерфейса. ++ +Две строки `host2` представляют собой псевдонимы, созданные с помощью man:ifconfig[8]. Символ `=>` после интерфейса [.filename]#lo0# указывает, что помимо loopback-адреса был установлен псевдоним. Такие маршруты отображаются только на хосте, поддерживающем псевдоним, а все остальные хосты в локальной сети будут иметь строку `link#1` для таких маршрутов. -Последняя строчка (подсеть назначения `224`) имеет отношение к многоадресной посылке, которая будет рассмотрена в другом разделе. +224:: +Последняя строка (подсеть назначения `224`) относится к многоадресной рассылке. -И наконец, различные атрибуты каждого маршрута перечисляются в колонке `Flags`. Ниже приводится краткая таблица некоторых из этих флагов и их значений: +Различные атрибуты каждого маршрута можно увидеть в столбце `Flags`. crossref:advanced-networking[routeflags,Часто встречающиеся флаги таблицы маршрутизации] содержит сводку некоторых из этих флагов и их значений: -[.informaltable] -[cols="1,1", frame="none"] +[[routeflags]] +.Часто встречающиеся флаги таблицы маршрутизации +[cols="1,1", frame="none", options="header"] |=== +| Flag +| Назначение |U -|Up: Маршрут актуален. +|Маршрут активен (поднят). |H -|Host: Адресом назначения является отдельный хост. +|Целью маршрута является отдельный хост. |G -|Gateway: Посылать все для этого адреса назначения на указанную удаленную систему, которая будет сама определять дальнейший путь прохождения информации. +|Отправляйте всё для этого назначения на этот шлюз, который разберётся, куда это нужно отправить. |S -|Static: Маршрут был настроен вручную, а не автоматически сгенерирован системой. +|Этот маршрут был настроен статически. |C -|Clone: Новый маршрут сгенерирован на основе указанного для машин, к которым мы подключены. Такой тип маршрута обычно используется для локальных сетей. +|Клонирует новый маршрут на основе данного для подключения машин. Такой тип маршрута обычно используется для локальных сетей. |W -|WasCloned: Указывает на то, что маршрут был автоматически сконфигурирован на основе маршрута в локальной сети (Clone). +|Маршрут был автоматически настроен на основе локальной сети (клон) маршрута. |L -|Link: Маршрут включает ссылку на аппаратный адрес Ethernet. -|=== - -[[network-routing-default]] -=== Маршруты по умолчанию - -Когда локальной системе нужно установить соединение с удаленным хостом, она обращается к таблице маршрутов для того, чтобы определить, существует ли такой маршрут. Если удаленный хост попадает в подсеть, для которой известен способ ее достижения (маршруты типа Cloned), то система определяет возможность подключиться к ней по этому интерфейсу. - -Если все известные маршруты не подходят, у системы имеется последняя возможность: маршрут "default". Это маршрут с особым типом сетевого шлюза (обычно единственным, присутствующим в системе), и в поле флагов он всегда помечен как `c`. Для хостов в локальной сети этот сетевой шлюз указывает на машину, имеющую прямое подключение к внешнему миру (неважно, используется ли связь по протоколу PPP, канал DSL, кабельный модем, T1 или какой-то другой сетевой интерфейс). - -Если вы настраиваете маршрут по умолчанию на машине, которая сама является сетевым шлюзом во внешний мир, то маршрутом по умолчанию будет являться сетевой шлюз у Вашего провайдера Интернет (ISP). - -Давайте взглянем на примеры маршрутов по умолчанию. Вот типичная конфигурация: - -image::net-routing.png[] - -Хосты `Local1` и `Local2` находятся в нашей сети. `Local1` подключён к ISP через коммутируемое соединение по протоколу PPP. Этот компьютер с сервером PPP подключён посредством локальной сети к другому шлюзовому компьютеру через внешний интерфейс самого ISP к Интернет. - -Маршруты по умолчанию для каждой из ваших машин будут следующими: - -[.informaltable] -[cols="1,1,1", frame="none", options="header"] -|=== -| Хост -| Маршрут по умолчанию -| Интерфейс - -|Local2 -|Local1 -|Ethernet - -|Local1 -|T1-GW -|PPP -|=== - -Часто задаётся вопрос "Почему (или каким образом) в качестве шлюза по умолчанию для машины `Local1` мы указываем `T1-GW`, а не сервер провайдера, к которому подключаемся?". - -Запомните, что из-за использования PPP-интерфейсом адреса в сети провайдера Интернет с вашей стороны соединения, маршруты для всех других машин в локальной сети провайдера будут сгенерированы автоматически. Таким образом, вы уже будете знать, как достичь машины `T1-GW`, так что нет нужды в промежуточной точке при посылке трафика к серверу ISP. - -В локальных сетях адрес `X.X.X.1` часто используется в качестве адреса сетевого шлюза. Тогда (при использовании того же самого примера) если пространство адресов класса C вашей локальной сети было задано как `10.20.30`, а ваш провайдер использует `10.9.9`, то маршруты по умолчанию будут такие: - -[.informaltable] -[cols="1,1", frame="none", options="header"] -|=== -| Хост -| Маршрут по умолчанию - -|Local2 (10.20.30.2) -|Local1 (10.20.30.1) - -|Local1 (10.20.30.1, 10.9.9.30) -|T1-GW (10.9.9.1) +|Маршрут включает ссылки на оборудование Ethernet (link). |=== -Вы можете легко задать используемый по умолчанию маршрутизатор посредством файла [.filename]#/etc/rc.conf#. В нашем примере на машине `Local2` мы добавили такую строку в файл [.filename]#/etc/rc.conf#: +На системе FreeBSD маршрут по умолчанию может быть определён в [.filename]#/etc/rc.conf# путём указания IP-адреса шлюза по умолчанию: [.programlisting] .... defaultrouter="10.20.30.1" .... -Это также возможно сделать и непосредственно из командной строки при помощи команды man:route[8]: +Также можно вручную добавить маршрут с помощью `route`: -[source,shell] +[source, shell] .... # route add default 10.20.30.1 .... -Для получения дополнительной информации об управлении таблицами маршрутизации обратитесь к справочной странице по команде man:route[8]. - -=== Хосты с двойным подключением - -Есть еще один тип подключения, который мы должны рассмотреть, и это случай, когда хост находится в двух различных сетях. Технически, любая машина, работающая как сетевой шлюз (в примере выше использовалось PPP-соединение), считается хостом с двойным подключением. Однако этот термин реально используется для описания машины, находящейся в двух локальных сетях. - -В одном случае у машины имеется два адаптера Ethernet, каждый имеющий адрес в разделенных подсетях. Как альтернативу можно рассмотреть вариант с одним Ethernet-адаптером и использованием алиасов в команде man:ifconfig[8]. В первом случае используются два физически разделённые сети Ethernet, в последнем имеется один физический сегмент сети, но две логически разделённые подсети. +Обратите внимание, что вручную добавленные маршруты не сохранятся после перезагрузки. Для получения дополнительной информации о ручном управлении таблицами сетевой маршрутизации обратитесь к man:route[8]. -В любом случае таблицы маршрутизации настраиваются так, что для каждой подсети эта машина определена как шлюз (входной маршрут) в другую подсеть. Такая конфигурация, при которой машина выступает в роли маршрутизатора между двумя подсетями, часто используется, если нужно реализовать систему безопасности на основе фильтрации пакетов или функций брандмауэра в одном или обоих направлениях. +[[network-static-routes]] +=== Настройка маршрутизатора со статическими маршрутами -Если вы хотите, чтобы эта машина действительно перемещала пакеты между двумя интерфейсами, то вам нужно указать FreeBSD на включение этой функции. Обратитесь к следующей главе, чтобы узнать, как это сделать. +Система FreeBSD может быть настроена как шлюз по умолчанию или маршрутизатор для сети, если она является двухдоменной системой. Двухдоменная система — это хост, который находится как минимум в двух разных сетях. Обычно каждая сеть подключена к отдельному сетевому интерфейсу, хотя IP-алиасинг может использоваться для привязки нескольких адресов, каждый в своей подсети, к одному физическому интерфейсу. -[[network-dedicated-router]] -=== Построение маршрутизатора - -Сетевой маршрутизатор является обычной системой, которая пересылает пакеты с одного интерфейса на другой. Стандарты Интернет и хорошая инженерная практика не позволяют Проекту FreeBSD включать эту функцию по умолчанию во FreeBSD. Вы можете включить эту возможность, изменив значение следующей переменной в `YES` в файле man:rc.conf[5]: +Для того чтобы система могла пересылать пакеты между интерфейсами, FreeBSD должна быть настроена как маршрутизатор. Интернет-стандарты и лучшие инженерные практики не позволяют проекту FreeBSD включать эту функцию по умолчанию, но её можно настроить для запуска при загрузке, добавив следующую строку в [.filename]#/etc/rc.conf#: [.programlisting] .... -gateway_enable=YES # Set to YES if this host will be a gateway +gateway_enable="YES" # Set to YES if this host will be a gateway .... -Этот параметр изменит значение man:sysctl[8]-переменной `net.inet.ip.forwarding` в `1`. Если вам временно нужно выключить маршрутизацию, вы можете на время сбросить это значение в `0`. - -Вашему новому маршрутизатору нужна информация о маршрутах для того, чтобы знать, куда пересылать трафик. Если ваша сеть достаточно проста, то вы можете использовать статические маршруты. С FreeBSD также поставляется стандартный даемон BSD для маршрутизации man:routed[8], который умеет работать с RIP (как версии 1, так и версии 2) и IRDP. Поддержка BGP v4, OSPF v2 и других сложных протоколов маршрутизации имеется в пакете package:net/zebra[]. Также существуют и коммерческие продукты, применяемые как более комплексное решение проблемы маршрутизации в сети, такие как GateD(R). +Чтобы теперь включить маршрутизацию, установите переменную man:sysctl[8] `net.inet.ip.forwarding` в значение `1`. Для отключения маршрутизации сбросьте эту переменную в `0`. -=== Настройка статических маршрутов +Таблица маршрутизации маршрутизатора требует дополнительных маршрутов, чтобы он знал, как достичь других сетей. Маршруты могут быть добавлены вручную с использованием статических маршрутов или могут быть автоматически созданы обучением с помощью протокола маршрутизации. Статические маршруты подходят для небольших сетей, и в этом разделе описывается, как добавить запись статической маршрутизации для небольшой сети. -==== Ручная настройка +[NOTE] +==== +Для больших сетей статические маршруты быстро становятся неэффективными. FreeBSD включает стандартный демон маршрутизации man:routed[8], который поддерживает протоколы RIP версий 1 и 2, а также IRDP. Поддержка протоколов маршрутизации BGP и OSPF может быть установлена с помощью пакета package:net/quagga[] или порта. +==== -Предположим, что у нас есть следующая сеть: +Рассмотрим следующую сеть: image::static-routes.png[] -В этом сценарии, `RouterA` это наш компьютер с FreeBSD, который выступает в качестве маршрутизатора в сеть Интернет. Его маршрут по умолчанию настроен на `10.0.0.1`, что позволяет ему соединяться с внешним миром. Мы будем предполагать, что `RouterB` уже правильно настроен и знает все необходимые маршруты (на этом рисунке все просто; добавьте на `RouterB` маршрут по умолчанию, используя `192.168.1.1` в качестве шлюза). +В этом сценарии `RouterA` — это машина FreeBSD, которая выступает в качестве маршрутизатора для остальной части Интернета. У нее установлен маршрут по умолчанию на `10.0.0.1`, что позволяет ей соединяться с внешним миром. `RouterB` уже настроен на использование `192.168.1.1` в качестве шлюза по умолчанию. -Если мы посмотрим на таблицу маршрутизации `RouterA`, то увидим примерно следующее: +Прежде чем добавлять статические маршруты, таблица маршрутизации на `RouterA` выглядит следующим образом: -[source,shell] +[source, shell] .... % netstat -nr Routing tables @@ -254,40 +216,29 @@ Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.1 UGS 0 49378 xl0 127.0.0.1 127.0.0.1 UH 0 6 lo0 -10.0.0/24 link#1 UC 0 0 xl0 -192.168.1/24 link#2 UC 0 0 xl1 +10.0.0.0/24 link#1 UC 0 0 xl0 +192.168.1.0/24 link#2 UC 0 0 xl1 .... -С текущей таблицей маршрутизации `RouterA` не сможет достичь внутренней сети 2 (Internal Net 2). Один из способов обхода этой проблемы - добавление маршрута вручную. Следующая команда добавляет внутреннюю сеть 2 к таблице маршрутизации `RouterA` с `192.168.1.2` в качестве следующего узла: +С текущей таблицей маршрутизации `RouterA` не имеет маршрута к сети `192.168.2.0/24`. Следующая команда добавляет сеть `Internal Net 2` в таблицу маршрутизации ``RouterA``, используя `192.168.1.2` в качестве следующего прыжка: -[source,shell] +[source, shell] .... # route add -net 192.168.2.0/24 192.168.1.2 .... -Теперь `RouterA` сможет достичь любого хоста в сети `192.168.2.0/24`. - -==== Постоянная конфигурация - -Предыдущий пример прекрасно подходит для настройки статического маршрута в работающей системе. Однако, проблема заключается в том, что маршрутная информация не сохранится после перезагрузки FreeBSD. Способ сохранения добавленного маршрута заключается в добавлении его в файл [.filename]#/etc/rc.conf#: +Теперь `RouterA` может достигать любого узла в сети `192.168.2.0/24`. Однако информация о маршрутизации не сохранится после перезагрузки системы FreeBSD. Если требуется, чтобы статический маршрут был постоянным, добавьте его в [.filename]#/etc/rc.conf#: [.programlisting] .... -# Добавление статического маршрута в Internal Net 2 +# Add Internal Net 2 as a persistent static route static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2" .... -В переменной `static_routes` находятся строки, разделенные пробелами. Каждая строка означает имя маршрута. В примере выше в `static_routes` есть только одна строка, это _internalnet2_. Затем мы добавили переменную `route__internalnet2_`, куда помещены все параметры, которые необходимо передать команде man:route[8]. В примере выше была использована команда: - -[source,shell] -.... -# route add -net 192.168.2.0/24 192.168.1.2 -.... - -поэтому нам потребуется `"-net 192.168.2.0/24 192.168.1.2"`. +Переменная конфигурации `static_routes` представляет собой список строк, разделённых пробелом, где каждая строка ссылается на имя маршрута. Переменная `route_internalnet2` содержит статический маршрут для этого имени маршрута. -Как было сказано выше, мы можем добавить в `static_routes` более чем одну строку. Это позволит создать несколько статических маршрутов. В следующем примере показано добавление маршрутов для сетей `192.168.0.0/24` и `192.168.1.0/24` (этот маршрутизатор не показан на рисунке выше: +Использование более одной строки в `static_routes` создает несколько статических маршрутов. Ниже приведен пример добавления статических маршрутов для сетей `192.168.0.0/24` и `192.168.1.0/24`: [.programlisting] .... @@ -296,381 +247,555 @@ route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1" .... -=== Распространение маршрутов - -Мы уже говорили о том, как мы задаем наши маршруты во внешний мир, но не упоминали о том, как внешний мир находит нас. - -Мы уже знаем, что таблицы маршрутизации могут быть настроены так, что весь трафик для некоторого диапазона адресов (в нашем примере это подсеть класса C) может быть направлен заданному хосту в той сети, которая будет перенаправлять входящие пакеты дальше. - -При получении адресного пространства, выделенного Вашей сети, Ваш провайдер настроит свои таблицы маршрутизации так, что весь трафик для Вашей подсети будет пересылаться по PPP-соединению к Вашей сети. Но как серверы по всей стране узнают, что Ваш трафик нужно посылать Вашему ISP? - -Существует система (подобная распределению информации DNS), которая отслеживает все назначенные пространства адресов и определяет точку подключения к магистрали Интернет. "Магистралью" называют главные каналы, по которым идет трафик Интернет внутри страны и по всему миру. Каждая магистральная машина имеет копию основного набора таблиц, согласно которой трафик для конкретной сети направляется по конкретному магистральному каналу, и затем, передаваясь по цепочке провайдеров, он достигает вашей сети. +[[network-routing-troubleshooting]] +=== Устранение неполадок -Задачей вашего провайдера является объявить на магистрали о том, что он отвечает за подключение (и поэтому на него указывает маршрут) вашей сети. Этот процесс называется распространением маршрута. +Когда адресное пространство назначается сети, поставщик услуг настраивает свои таблицы маршрутизации так, чтобы весь трафик для сети отправлялся по каналу связи к сайту. Но как внешние сайты узнают, что их пакеты нужно отправлять к межсетевому экрану провайдера сети? -=== Устранение неполадок +Существует система, которая отслеживает все выделенные адресные пространства и определяет их точку подключения к магистрали Интернета или основным магистральным линиям, передающим интернет-трафик по стране и по всему миру. Каждая машина магистрали имеет копию главного набора таблиц, которые направляют трафик для определённой сети к конкретному магистральному оператору, а оттуда по цепочке поставщиков услуг, пока он не достигнет конкретной сети. -Иногда с распространением маршрута возникают проблемы, и некоторые сайты не могут к вам подключиться. Наверное, самой полезной командой для определения точки неверной работы маршрутизации является man:traceroute[8]. Она также полезна и когда вы сами не можете подключиться к удаленной машине (то есть команда man:ping[8] не срабатывает). +Это задача поставщика услуг — сообщить магистральным узлам, что они являются точкой подключения и, следовательно, путем внутрь для сайта. Это известно как распространение маршрутов. -Команда man:traceroute[8] запускается с именем удаленного хоста, с которым вы хотите установить соединение, в качестве параметра. Она показывает промежуточные сетевые шлюзы по пути следования, в конце концов достигая адрес назначения или прерывая свою работу из-за отсутствия соединения. +Иногда возникают проблемы с распространением маршрутов, и некоторые сайты не могут подключиться. Возможно, наиболее полезная команда для выяснения, где происходит разрыв маршрутизации, — это `traceroute`. Она полезна, когда `ping` не срабатывает. -За дополнительной информацией обратитесь к странице Справочника по man:traceroute[8]. +При использовании `traceroute` укажите адрес удаленного хоста для подключения. В выводе будут показаны шлюзы на пути попытки соединения, в конечном итоге достигая целевого хоста или прерываясь из-за отсутствия соединения. Для получения дополнительной информации обратитесь к man:traceroute[8]. -=== Маршрутизация многоадресного трафика +[[network-routing-multicast]] +=== Аспекты многоадресной рассылки (multicast) -FreeBSD изначально поддерживает как приложения, работающие с многоадресным трафиком, так и его маршрутизацию. Такие приложения не требуют особой настройки FreeBSD; обычно они работают сразу. Для маршрутизации многоадресного трафика требуется, чтобы поддержка этого была включена в ядро: +FreeBSD изначально поддерживает как приложения с многоадресной рассылкой, так и маршрутизацию многоадресной рассылки. Для работы приложений с многоадресной рассылкой на FreeBSD не требуется специальной настройки. Для поддержки маршрутизации многоадресной рассылки необходимо включить следующую опцию в собственном ядре: [.programlisting] .... options MROUTING .... -Кроме того, даемон многоадресной маршрутизации, man:mrouted[8], должен быть настроен посредством файла [.filename]#/etc/mrouted.conf# на использование туннелей и DVMRP. Дополнительную информацию о настройки многоадресного трафика можно найти на страницах справочной системы, посвящённых даемону man:mrouted[8]. +Демон маршрутизации многоадресной рассылки, mrouted, может быть установлен с помощью пакета package:net/mrouted[] или порта. Этот демон реализует протокол маршрутизации многоадресной рассылки DVMRP и настраивается путём редактирования файла [.filename]#/usr/local/etc/mrouted.conf# для настройки туннелей и DVMRP. Установка mrouted также устанавливает map-mbone и mrinfo, а также связанные с ними man-страницы. Обратитесь к ним за примерами конфигурации. -[[network-wireless]] -== Беспроводные сети - -=== Введение +[NOTE] +==== +DVMRP во многом заменён протоколом PIM во многих инсталляциях с использованием многоадресной рассылки. Дополнительную информацию можно найти в man:pim[4]. +==== -Было бы весьма полезным иметь возможность использовать компьютер без хлопот, связанных с постоянно подключенным сетевым кабелем. FreeBSD может использоваться как клиент беспроводной сети, и даже в качестве "точки доступа" к ней. +[[configtuning-virtual-hosts]] +== Виртуальные узлы -=== Режимы работы беспроводной связи +Распространённое использование FreeBSD — это виртуальный хостинг сайтов, когда один сервер представляется в сети как множество серверов. Это достигается путём назначения нескольких сетевых адресов одному интерфейсу. -Существуют два варианта конфигурации устройств беспроводного доступа 802.11: BSS и IBSS. +Указанный сетевой интерфейс имеет один "реальный" адрес и может иметь любое количество "псевдонимных" адресов. Эти псевдонимы обычно добавляются путём размещения записей alias в [.filename]#/etc/rc.conf#, как показано в этом примере: -==== Режим BSS +[source, shell] +.... +# sysrc ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx" +.... -Режим BSS является наиболее часто используемым. Режим BSS также называют режимом инфраструктуры. В этом режиме несколько точек доступа беспроводной сети подключаются к проводной сети передачи данных. Каждое беспроводная сеть имеет собственное имя. Это имя является идентификатором SSID сети. +Записи псевдонимов должны начинаться с `alias__0__`, используя последовательные числа, такие как `alias0`, `alias1` и так далее. Процесс настройки остановится при первом пропущенном числе. -Клиенты беспроводной сети подключаются к этим точкам доступа беспроводной сети. Стандарт IEEE 802.11 определяет протокол, используемый для связи в беспроводных сетях. Клиент сети беспроводного доступа может подключаться к некоторой сети, если задан её SSID. Клиент может также подключаться к любой сети, если SSID не задан. +Расчёт масок подсети для псевдонимов важен. Для заданного интерфейса должен быть один адрес, который корректно представляет маску подсети сети. Любые другие адреса, попадающие в эту сеть, должны иметь маску подсети, состоящую из всех ``1``, выраженную как `255.255.255.255` или `0xffffffff`. -==== Режим IBSS +Например, рассмотрим случай, когда интерфейс `fxp0` подключён к двум сетям: `10.1.1.0` с маской сети `255.255.255.0` и `202.0.75.16` с маской сети `255.255.255.240`. Система должна быть настроена так, чтобы находиться в диапазонах `10.1.1.1`–`10.1.1.5` и `202.0.75.17`–`202.0.75.20`. Только первый адрес в каждом диапазоне должен иметь реальную маску сети. Все остальные (`10.1.1.2`–`10.1.1.5` и `202.0.75.18`–`202.0.75.20`) должны быть настроены с маской `255.255.255.255`. -Режим IBSS, также называемый ad-hoc, предназначен для соединений точка-точка. На самом деле существуют два типа режима ad-hoc. Один из них является режимом IBSS, называемый также режимом ad-hoc или IEEE ad-hoc. Этот режим определён стандартами IEEE 802.11. Второй режим называется демонстрационным режимом ad-hoc, или Lucent ad-hoc (или, иногда неправильно, режимом ad-hoc). Это старый, существовавший до появления 802.11, режим ad-hoc, и он должен использоваться только для старых сетей. В дальнейшем мы не будем рассматривать ни один из режимов ad-hoc. +Для данного сценария правильно настраивают адаптер следующие записи в [.filename]#/etc/rc.conf# : -=== Режим инфраструктуры +[source, shell] +.... +# sysrc ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" +# sysrc ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" +# sysrc ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" +# sysrc ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255" +.... -==== Точки доступа +Более простой способ выразить это — использовать список диапазонов IP-адресов, разделённых пробелами. Первому адресу будет назначена указанная маска подсети, а дополнительным адресам — маска подсети `255.255.255.255`. -Точки доступа представляют собой беспроводные сетевые устройства, позволяющие одному или большему количеству клиентов беспроводной сети использовать эти устройства в качестве центрального сетевого концентратора. При использовании точки доступа все клиенты работают через неё. Зачастую используются несколько точек доступа для полного покрытия беспроводной сетью некоторой зоны, такой, как дом, офис или парк. +[source, shell] +.... +# sysrc ifconfig_fxp0_aliases="inet 10.1.1.1-5/24 inet 202.0.75.17-20/28" +.... -Точки доступа обычно имеют несколько подключений к сети: адаптер беспроводной связи и один или большее количество сетевых ethernet-адаптеров для подключения к остальной части сети. +[[network-advanced-wireless]] +== Расширенная аутентификация в беспроводной сети -Точки доступа могут быть либо приобретены уже настроенными, либо вы можете создать собственную при помощи FreeBSD и поддерживаемого адаптера беспроводной связи. Несколько производителей выпускают точки беспроводного доступа и адаптеры беспроводной связи с различными возможностями. +FreeBSD поддерживает различные способы подключения к беспроводной сети. В этом разделе описано, как выполнить расширенную аутентификацию в беспроводной сети. -==== Построение точки доступа с FreeBSD +Для подключения и базовой аутентификации в беспроводной сети раздел crossref:network[wireless-authentication,Подключение и аутентификация в беспроводной сети] в главе "Сеть" описывает, как это сделать. -===== Требования +[[network-wireless-wpa-eap-tls]] +=== WPA с EAP-TLS -Для того, чтобы создать беспроводную точку доступа на FreeBSD, вам нужно иметь совместимый адаптер беспроводной связи. На данный момент поддерживаются адаптеры только на основе набора микросхем Prism. Вам также потребуется поддерживаемый FreeBSD адаптер проводной сети (найти такой будет нетрудно, FreeBSD поддерживает множество различных устройств). В этом руководстве мы будем полагать, что вы будете строить сетевой мост (man:bridge[4]) для пропуска всего трафика между устройством беспроводной связи и сетью, подключенной к обычному Ethernet-адаптеру. +Второй способ использования WPA — с сервером аутентификации 802.1X. В этом случае WPA называется WPA Enterprise, чтобы отличать его от менее безопасного WPA Personal. Аутентификация в WPA Enterprise основана на расширяемом протоколе аутентификации (EAP). -Функциональность hostap, которая используется FreeBSD для организации точки доступа, работает лучше всего с некоторыми версиями микрокода. Адаптеры Prism 2 должны использовать микрокод версии 1.3.4 или более новый. Адаптеры Prism 2.5 и Prism 3 должны использовать микрокод версии 1.4.9. Более старые версии микрокода могут работать нормально, а могут и некорректно. В настоящее время единственным способом обновления адаптеров является использование утилит обновления для Windows(R), которые можно получить у производителя ваших адаптеров. +EAP не включает в себя метод шифрования. Вместо этого EAP встраивается в зашифрованный туннель. Существует множество методов аутентификации EAP, но наиболее распространены EAP-TLS, EAP-TTLS и EAP-PEAP. -===== Настройка +EAP с защитой на транспортном уровне (EAP-TLS) — это широко поддерживаемый протокол аутентификации беспроводных сетей, так как он был первым методом EAP, сертифицированным http://www.wi-fi.org/[Альянсом Wi-Fi]. Для работы EAP-TLS требуется три сертификата: сертификат центра сертификации (CA), установленный на всех машинах, сертификат сервера для сервера аутентификации и один клиентский сертификат для каждого беспроводного клиента. В этом методе EAP и сервер аутентификации, и беспроводной клиент аутентифицируют друг друга, предоставляя свои соответствующие сер тификаты, а затем проверяют, что эти сертификаты были подписаны CA организации. -Первым делом убедитесь, что ваша система распознаёт адаптер беспроводной связи: +Как и ранее, настройка выполняется через [.filename]#/etc/wpa_supplicant.conf#: -[source,shell] +[.programlisting] .... -# ifconfig -a -wi0: flags=8843 mtu 1500 - inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 - inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 - ether 00:09:2d:2d:c9:50 - media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) - status: no carrier - ssid "" - stationname "FreeBSD Wireless node" - channel 10 authmode OPEN powersavemode OFF powersavesleep 100 - wepmode OFF weptxkey 1 +network={ + ssid="freebsdap" <.> + proto=RSN <.> + key_mgmt=WPA-EAP <.> + eap=TLS <.> + identity="loader" <.> + ca_cert="/etc/certs/cacert.pem" <.> + client_cert="/etc/certs/clientcert.pem" <.> + private_key="/etc/certs/clientkey.pem" <.> + private_key_passwd="freebsdmallclient" <.> +} .... -На данном этапе не беспокойтесь о деталях, просто убедитесь, что выдаётся нечто, указывающее на установленный адаптер беспроводной связи. Если при этом у вас есть проблемы с недоступностью интерфейса беспроводной связи, и вы используете PC Card, то обратитесь к страницам справочной системы, описывающим man:pccardc[8] и man:pccardd[8] для получения более полной информации. +<.> Это поле указывает имя сети (SSID). +<.> Этот пример использует протокол RSN IEEE(R) 802.11i, также известный как WPA2. +<.> Строка `key_mgmt` указывает на используемый протокол управления ключами. В данном примере это WPA с аутентификацией EAP. +<.> Это поле указывает метод EAP для подключения. +<.> Поле `identity` содержит строку идентификации для EAP. +<.> Поле `ca_cert` указывает путь к файлу сертификата CA. Этот файл необходим для проверки сертификата сервера. +<.> Строка `client_cert` указывает путь к файлу сертификата клиента. Этот сертификат уникален для каждого беспроводного клиента в сети. +<.> Поле `private_key` содержит путь к файлу закрытого ключа клиентского сертификата. +<.> Поле `private_key_passwd` содержит парольную фразу для закрытого ключа. -Теперь вам нужно загрузить модуль для подготовки той части FreeBSD, что отвечает за организацию сетевых мостов, для работы с точкой доступа. Для загрузки модуля man:bridge[4] просто выполните следующую команду: +Затем добавьте следующие строки в [.filename]#/etc/rc.conf#: -[source,shell] +[.programlisting] .... -# kldload bridge +wlans_ath0="wlan0" +ifconfig_wlan0="WPA DHCP" .... -При загрузке модуля никаких сообщений об ошибках быть не должно. Если это всё же произошло, вам может потребоваться вкомпилировать код для модуля man:bridge[4] в ядро. В этом вам должен помочь раздел этого Руководства об <>. - -Теперь, когда вы завершили с той частью, что касается организации сетевого моста, нам нужно указать ядру FreeBSD, какие интерфейсы должны объединяться в сетевом мосте. Это мы делаем при помощи man:sysctl[8]: +Следующий шаг — поднять интерфейс: -[source,shell] +[source, shell] .... -# sysctl net.link.ether.bridge.enable=1 -# sysctl net.link.ether.bridge.config="wi0 xl0" -# sysctl net.inet.ip.forwarding=1 +# service netif start +Starting wpa_supplicant. +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +wlan0: flags=8843 mtu 1500 + ether 00:11:95:d5:43:62 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g + status: associated + ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac + country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF + AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan + bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS + wme burst roaming MANUAL .... -В версиях FreeBSD, предшествующих 5.2, вместо указанных нужно использовать следующие параметры: +Также можно поднять интерфейс вручную с помощью man:wpa_supplicant[8] и man:ifconfig[8]. -[source,shell] -.... -# sysctl net.link.ether.bridge=1 -# sysctl net.link.ether.bridge_cfg="wi0,xl0" -# sysctl net.inet.ip.forwarding=1 -.... +[[network-wireless-wpa-eap-ttls]] +=== WPA с EAP-TTLS -Теперь необходимо настроить адаптер беспроводной сети. Следующая команда заставит адаптер работать в режиме точки доступа: +С EAP-TLS и сервер аутентификации, и клиент нуждаются в сертификате. С EAP-TTLS сертификат клиента необязателен. Этот метод аналогичен веб-серверу, который создает защищенный SSL-туннель, даже если у посетителей нет клиентских сертификатов. EAP-TTLS использует зашифрованный TLS-туннель для безопасной передачи данных аутентификации. -[source,shell] -.... -# ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP" +Требуемая конфигурация может быть добавлена в [.filename]#/etc/wpa_supplicant.conf#: +[.programlisting] +.... +network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=TTLS <.> + identity="test" <.> + password="test" <.> + ca_cert="/etc/certs/cacert.pem" <.> + phase2="auth=MD5" <.> +} .... -Строчка man:ifconfig[8] активизирует интерфейс [.filename]#wi0#, конфигурирует его SSID как _my_net_, а имя станции как _FreeBSD AP_. `media DS/11Mbps` переводит адаптер в режим 11Mbps и нужен только для того, чтобы сработал параметр `mediaopt`. Параметр `mediaopt hostap` переводит интерфейс в режим точки доступа. Параметр `channel 11` задаёт использование канала 802.11b. Страница справки по команде man:wicontrol[8] перечисляет корректные значения каналов для ваших нужд. - -Теперь у вас должна получиться полнофункциональная работающая точка доступа. Настоятельно советуем прочесть страницы справочной по man:wicontrol[8], man:ifconfig[8], и man:wi[4] для получения дополнительной информации. - -Также полагаем, что вы прочтёте следующий раздел о шифровании. - -===== Информация о состоянии +<.> Это поле определяет метод EAP для подключения. +<.> Поле `identity` содержит строку идентификации для аутентификации EAP внутри зашифрованного TLS-туннеля. +<.> Поле `password` содержит парольную фразу для аутентификации EAP. +<.> Поле `ca_cert` указывает путь к файлу сертификата CA. Этот файл необходим для проверки сертификата сервера. +<.> Это поле определяет метод аутентификации, используемый в зашифрованном TLS-туннеле. В данном примере используется EAP с MD5-Challenge. Фаза "внутренней аутентификации" часто называется "phase2". -После того, как точка доступа сконфигурирована и начала свою работу, операторам может понадобиться видеть клиентов, связанных с этой точкой. В любой момент оператор может набрать: +Далее добавьте следующие строки в [.filename]#/etc/rc.conf#: -[source,shell] +[.programlisting] .... -# wicontrol -l -1 station: -00:09:b7:7b:9d:16 asid=04c0, flags=3, caps=1, rates=f<1M,2M,5.5M,11M>, sig=38/15 +wlans_ath0="wlan0" +ifconfig_wlan0="WPA DHCP" .... -Это показывает, что имеется одна связанная станция с перечисленными характеристиками. Выдаваемое значение сигнала должно использоваться только как сравнительный индикатор его силы. Его перевод в dBm или другие единицы измерения различаются в разных версиях микрокода. +Следующий шаг — поднять интерфейс: -==== Клиенты - -Клиент в беспроводной сети представляет собой систему, которая обращается к точке доступа или непосредственно к другому клиенту. +[source, shell] +.... +# service netif start +Starting wpa_supplicant. +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +wlan0: flags=8843 mtu 1500 + ether 00:11:95:d5:43:62 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g + status: associated + ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac + country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF + AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan + bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS + wme burst roaming MANUAL +.... -Как правило, клиенты беспроводной сети имеют только один сетевой адаптер, а именно адаптер беспроводной сети. +[[network-wireless-wpa-eap-peap]] +=== WPA с EAP-PEAP -Существует несколько различных способов конфигурации клиента беспроводной сети. Они основаны на различных режимах работы в беспроводной сети, обычно BSS (режим инфраструктуры, который требует точки доступа) или IBSS (ad-hoc или режим одноранговой сети). В нашем примере мы будем использовать самый популярный их них, режим BSS, для связи с точкой доступа. +[NOTE] +==== +PEAPv0/EAP-MSCHAPv2 является наиболее распространенным методом PEAP. В этой главе термин PEAP используется для обозначения данного метода. +==== -===== Требования +Защищенный EAP (PEAP) разработан как альтернатива EAP-TTLS и является наиболее используемым стандартом EAP после EAP-TLS. В сети с разными операционными системами PEAP должен быть наиболее поддерживаемым стандартом после EAP-TLS. -Существует только одно жёсткое условие для настройки FreeBSD в качестве клиента беспроводной сети. Вам нужен адаптер беспроводной связи, поддерживаемый FreeBSD. +PEAP аналогичен EAP-TTLS, так как использует сертификат на стороне сервера для аутентификации клиентов путем создания зашифрованного TLS-туннеля между клиентом и сервером аутентификации, что защищает последующий обмен аутентификационной информацией. Аутентификация PEAP отличается от EAP-TTLS тем, что передает имя пользователя в открытом виде, и только пароль отправляется в зашифрованном TLS-туннеле. EAP-TTLS использует TLS-туннель как для имени пользователя, так и для пароля. -===== Конфигурация FreeBSD как клиента беспроводной сети +Добавьте следующие строки в [.filename]#/etc/wpa_supplicant.conf# для настройки параметров, связанных с EAP-PEAP: -Перед тем, как подключиться к беспроводной сети, вам нужно будет узнать о ней несколько вещей. В этом примере мы подключаемся к сети, которая называется _my_net_, и шифрование в ней отключено. +[.programlisting] +.... +network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=PEAP <.> + identity="test" <.> + password="test" <.> + ca_cert="/etc/certs/cacert.pem" <.> + phase1="peaplabel=0" <.> + phase2="auth=MSCHAPV2" <.> +} +.... -[NOTE] -==== -В этом примере мы не используем шифрование, но это небезопасно. В следующем разделе вы узнаете, как её включить, почему это так важно, и почему некоторые технологии шифрования всё же не могут полностью обеспечить вашу информационную безопасность. -==== +<.> Это поле определяет метод EAP для подключения. +<.> Поле `identity` содержит строку идентификации для аутентификации EAP внутри зашифрованного TLS-туннеля. +<.> Поле `password` содержит парольную фразу для аутентификации EAP. +<.> Поле `ca_cert` указывает путь к файлу сертификата CA. Этот файл необходим для проверки сертификата сервера. +<.> Это поле содержит параметры для первой фазы аутентификации, TLS-туннеля. В зависимости от используемого сервера аутентификации укажите конкретную метку для аутентификации. В большинстве случаев меткой будет "client EAP encryption", которая устанавливается с помощью `peaplabel=0`. Дополнительную информацию можно найти в man:wpa_supplicant.conf[5]. +<.> Это поле определяет протокол аутентификации, используемый в зашифрованном TLS-туннеле. В случае PEAP, это `auth=MSCHAPV2`. -Удостоверьтесь, что ваш адаптер распознаётся во FreeBSD: +Добавьте следующее в [.filename]#/etc/rc.conf#: -[source,shell] +[.programlisting] .... -# ifconfig -a -wi0: flags=8843 mtu 1500 - inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 - inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 - ether 00:09:2d:2d:c9:50 - media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) - status: no carrier - ssid "" - stationname "FreeBSD Wireless node" - channel 10 authmode OPEN powersavemode OFF powersavesleep 100 - wepmode OFF weptxkey 1 +wlans_ath0="wlan0" +ifconfig_wlan0="WPA DHCP" .... -Теперь мы можем изменить настройки адаптера на те, что соответствуют нашей сети: +Затем поднимите интерфейс: -[source,shell] +[source, shell] .... -# ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net +# service netif start +Starting wpa_supplicant. +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 +DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +wlan0: flags=8843 mtu 1500 + ether 00:11:95:d5:43:62 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g + status: associated + ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac + country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF + AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan + bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS + wme burst roaming MANUAL .... -Замените `192.168.0.20` и `255.255.255.0` на правильные IP-адрес и сетевую маску в вашей проводной сети. Запомните, что наша точка доступа выступает в роли моста для данных между беспроводной и проводной сетями, так что они будут доступны для других устройств, находящихся в сети, как будто они тоже находятся в проводной сети. +[[wireless-ad-hoc-mode]] +== Беспроводное соединение в режиме Ad-hoc -Как только вы это выполнили, то сможете получить ping от хостов в проводной сети, как будто вы подключены посредством обычных проводов. +Режим IBSS, также называемый ad-hoc режимом, предназначен для соединений точка-точка. Например, чтобы создать ad-hoc сеть между машинами `A` и `B`, выберите два IP-адреса и SSID. -Если вы столкнулись с проблемами при работе в беспроводной сети, удостоверьтесь, что вы ассоциированы (подключены) с точкой доступа: +На `A`: -[source,shell] +[source, shell] .... -# ifconfig wi0 +# ifconfig wlan0 create wlandev ath0 wlanmode adhoc +# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap +# ifconfig wlan0 + wlan0: flags=8843 metric 0 mtu 1500 + ether 00:11:95:c3:0d:ac + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g + status: running + ssid freebsdap channel 2 (2417 Mhz 11g) bssid 02:11:95:c3:0d:ac + country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60 *** 182943 LINES SKIPPED *** From nobody Mon Oct 20 08:21:49 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cqpLP4y2Hz6DRqF for ; Mon, 20 Oct 2025 08:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cqpLP44SMz3b7M; Mon, 20 Oct 2025 08:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760948509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03w3HVWCkBrDj+HS4ewXRa1jIvzUKnjJsR5GnfGBCkQ=; b=oro3+UmDXRhVsXsm63obuQLa3FugTl9+dDHVHWians5IQWqksy0fVSOJPDGJinyo5TFixW v13NWnsO+AqHf0Iw7GPk6UgWCSc87/X80fr4zknhaGGw6PrgN87IkeAM2uhZ3BgBsDcAk2 qd4gMsyp2ub1+qoFCWDeh7O0GbjE22+sthiwkQSu+keAFYY6ZVR3Fw+SM70hgHdkhZCTU7 9idzODcfkFbXpkjLndvgSKVKwUMJEwxub93s3hND7pwuTZh1rsWizlIP3P3+YdSfS4vZRP CVPSYaXibDeD4Ke/ZQskVFq04EOPeJyMSiqc2czBnesppJKhaCGl+75lYrnxng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760948509; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03w3HVWCkBrDj+HS4ewXRa1jIvzUKnjJsR5GnfGBCkQ=; b=QiifUvNvAqLy8LkrdL0ummpTKosZK0B3LHlMpNlawkmoAMXTQQQvRu6XDM6ByMcFYm7TCt 2LjHO6kXquVGd8uLpoH9y4hf0lzbNphMAs3Y09eatvxDf3qy9w6wpDa+NwCdVWJxfJntWp PWcVNDyO8IOCvylpeoX+pAB5il0cORkSEgY4rxOWAC0SugPLYkNh9FwbY0Pe4DQm30TsM+ 8er5C0bB4rGfVKdi+D8ar8dCyP4xawC61ns1Ol+X9y07ePNUJk//ZYZfH4HU9WVkvHn/CP 0mF/0WMNMhUYMewh+4p+o0Viib8f5aSyi34ej0MzXRW1OlZwn/svLecY3SqxFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760948509; a=rsa-sha256; cv=none; b=SRpmTMMOMVFKM5NpTl/fq1shlMHc4Y6MKuL7NdS5ENZ3WwBNSTMcDMDu0xLmGxx6+Gub+W sOlhtPRbF+rAvTqMsp4C2+mMjIdnG4IgKtosIArmKCaD46FaA6YIl50wgcAruXfgV3oOQ1 EY1dyBCJtHoi32V8H4iQ3Tvc7ZlxSJbEkH4YANpBzBmIDbAHzhO709R6+nEyV9nElswhcX By+QVWnqFT5vj6IdAChhWdw1hMi9Ughp6KCt2LsW3GkmJvfR42tuR6NcLHMmuSdB3yCefb ECyG30jj3t2kP6rASqyPpBqDYXAU07L322NYRmFk/zPyi9qjFMy7/IDHC6G4Fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cqpLP3Qz1z14ws; Mon, 20 Oct 2025 08:21:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59K8LnSu048733; Mon, 20 Oct 2025 08:21:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59K8LnSF048730; Mon, 20 Oct 2025 08:21:49 GMT (envelope-from git) Date: Mon, 20 Oct 2025 08:21:49 GMT Message-Id: <202510200821.59K8LnSF048730@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 7b349f0e4e - main - update translation of articles/rc-scripting to Russian List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b349f0e4eed7bbcb75fd1048e4d242695824ef5 Auto-Submitted: auto-generated The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=7b349f0e4eed7bbcb75fd1048e4d242695824ef5 commit 7b349f0e4eed7bbcb75fd1048e4d242695824ef5 Author: Vladlen Popolitov AuthorDate: 2025-10-20 08:21:43 +0000 Commit: Vladlen Popolitov CommitDate: 2025-10-20 08:21:43 +0000 update translation of articles/rc-scripting to Russian Reviewed by: andy, eugen, maxim Differential Revision: https://reviews.freebsd.org/D51968 --- .../content/ru/articles/rc-scripting/_index.adoc | 775 ++++++ .../content/ru/articles/rc-scripting/_index.po | 2771 ++++++++++++++++++++ 2 files changed, 3546 insertions(+) diff --git a/documentation/content/ru/articles/rc-scripting/_index.adoc b/documentation/content/ru/articles/rc-scripting/_index.adoc new file mode 100644 index 0000000000..0f34f38d22 --- /dev/null +++ b/documentation/content/ru/articles/rc-scripting/_index.adoc @@ -0,0 +1,775 @@ +--- +authors: + - + author: 'Yar Tikhiy' + email: yar@FreeBSD.org +copyright: '2005-2006, 2012 The FreeBSD Project' +description: 'Руководство по написанию новых rc.d-скриптов и пониманию уже существующих' +tags: ["rc.d", "scripting", "guide", "tutorial", "FreeBSD"] +title: 'Практическое руководство по написанию rc.d скриптов в BSD' +trademarks: ["freebsd", "netbsd", "general"] +--- + += Практическое руководство по написанию rc.d скриптов в BSD +:doctype: article +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:source-highlighter: rouge +:experimental: +:images-path: articles/rc-scripting/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:imagesdir: ../../../images/{images-path} +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[.abstract-title] +Аннотация + +Новичкам может быть сложно соотнести факты из официальной документации по фреймворку [.filename]#rc.d# в BSD с практическими задачами написания скриптов для [.filename]#rc.d#. В этой статье мы рассмотрим несколько типичных случаев возрастающей сложности, покажем возможности [.filename]#rc.d#, подходящие для каждого случая, и обсудим, как они работают. Такое рассмотрение должно дать ориентиры для дальнейшего изучения устройства и эффективного применения [.filename]#rc.d#. + +''' + +toc::[] + +[[rcng-intro]] +== Введение + +Исторически в BSD был монолитный стартовый сценарий [.filename]#/etc/rc#. Он вызывался man:init[8] во время загрузки системы и выполнял все задачи пользовательского пространства, необходимые для многопользовательского режима: проверку и монтирование файловых систем, настройку сети, запуск демонов и так далее. Точный список задач не был одинаковым в каждой системе; администраторам требовалось его настраивать. За редкими исключениями, [.filename]#/etc/rc# приходилось изменять, и настоящим хакерам это нравилось. + +Основная проблема монолитного подхода заключалась в том, что он не предоставлял контроля над отдельными компонентами, запускаемыми из [.filename]#/etc/rc#. Например, [.filename]#/etc/rc# не мог перезапустить отдельный демон. Администратору системы приходилось вручную находить процесс демона, завершать его, ждать, пока он действительно завершится, затем искать в [.filename]#/etc/rc# нужные флаги и, наконец, вводить полную командную строку для повторного запуска демона. Задача становилась ещё сложнее и более подверженной ошибкам, если служба состояла из нескольких демонов или требовала дополнительных действий. Одним словом, единый скрипт не справлялся с тем, для чего скрипты вообще предназначены: облегчать жизнь администратору системы. + +Позже была предпринята попытка разделить некоторые части [.filename]#/etc/rc# для возможности отдельного запуска наиболее важных подсистем. Известным примером стал [.filename]#/etc/netstart#, предназначенный для настройки сети. Это позволяло получить доступ к сети в однопользовательском режиме, но плохо интегрировалось в автоматический процесс запуска, так как части его кода требовалось переплетаться с действиями, по сути не связанными с сетью. Именно поэтому [.filename]#/etc/netstart# превратился в [.filename]#/etc/rc.network#. Последний больше не был обычным скриптом; он состоя из больших, запутанных функций man:sh[1], вызываемых из [.filename]#/etc/rc# на разных этапах загрузки системы. Однако по мере того, как задачи при запуске становились разнообразнее и сложнее, "квазимодульный" подход стал ещё большей обузой, чем монолитный [.filename]#/etc/rc#. + +Без чистого и хорошо продуманного каркаса, стартовые скрипты вынуждены были идти на всевозможные ухищрения, чтобы удовлетворить потребности быстро развивающихся BSD-ориентированных операционных систем. В конце концов стало очевидно, что необходимы дополнительные шаги на пути к детализированной и расширяемой системе [.filename]#rc#. Так появилась BSD [.filename]#rc.d#. Её признанными создателями стали Люк Мьюберн и сообщество NetBSD. Позже она была импортирована в FreeBSD. Её название отсылает к расположению системных скриптов для отдельных служб, которое на одится в [.filename]#/etc/rc.d#. Вскоре мы узнаем больше о компонентах системы [.filename]#rc.d# и увидим, как вызываются отдельные скрипты. + +Основные идеи, лежащие в основе BSD [.filename]#rc.d#, — это _тонкая модульность_ и __повторное использование кода__. _Тонкая модульность_ означает, что каждая базовая «служба», такая как системный демон или примитивная задача запуска, получает собственный сценарий man:sh[1], способный запустить службу, остановить её, перезагрузить или проверить её состояние. Конкретное действие выбирается аргументом командной строки, переданным в сценарий. Сценарий [.filename]#/etc/rc# по-прежнему управляет запуском системы, но теперь он просто вызывает небольшие сценарии оди за другим с аргументом `start`. Также легко выполнять задачи завершения работы, запуская тот же набор сценариев с аргументом `stop`, что и делает [.filename]#/etc/rc.shutdown#. Обратите внимание, насколько это близко следует Unix-подходу, где используется набор небольших специализированных инструментов, каждый из которых выполняет свою задачу наилучшим образом. _Повторное использование кода_ означает, что общие операции реализованы как функции man:sh[1] и собраны в [.filename]#/etc/rc.subr#. Теперь типичный сценарий может состоять всего из нескольких строк кода man:sh[1]. Након ец, важной частью инфрас! труктуры [.filename]#rc.d# является man:rcorder[8], который помогает [.filename]#/etc/rc# упорядоченно запускать небольшие сценарии с учётом зависимостей между ними. Он также может помочь [.filename]#/etc/rc.shutdown#, поскольку правильный порядок завершения работы противоположен порядку запуска. + +Дизайн BSD [.filename]#rc.d# описан в crossref:rc-scripting[lukem, оригинальной статье Люка Мьюберна], а компоненты [.filename]#rc.d# подробно документированы в crossref:rc-scripting[manpages, соответствующих руководствах]. Однако новичку в [.filename]#rc.d# может быть неочевидно, как связать многочисленные элементы вместе, чтобы создать хорошо структурированный скрипт для конкретной задачи. Поэтому в этой статье будет предпринята попытка описать [.filename]#rc.d# с другого ракурса. В ней будет показано, какие функции следует использовать в ряде типичных случаев и почему. Обратите внимание, что э то не руководство, поскольку наша цель — не предоставление готовых рецептов, а демонстрация нескольких простых способов входа в мир [.filename]#rc.d#. Также эта статья не заменяет соответствующие руководства. Не стесняйтесь обращаться к ним для получения более формальной и полной документации во время чтения этой статьи. + +Для понимания этой статьи есть предварительные требования. Прежде всего, вы должны быть знакомы с языком написания сценариев man:sh[1], чтобы освоить [.filename]#rc.d#. Кроме того, вы должны знать, как система выполняет задачи запуска и завершения работы пользовательского пространства, что описано в man:rc[8]. + +Эта статья посвящена ветке FreeBSD в [.filename]#rc.d#. Тем не менее, она может быть полезна и разработчикам NetBSD, потому что две ветки BSD [.filename]#rc.d# не только разделяют одинаковый дизайн, но и остаются схожими в аспектах, видимых авторам скриптов. + +[[rcng-task]] +== Обрисовка задачи + +Немного размышлений перед запуском `$EDITOR` не повредит. Чтобы написать хорошо продуманный скрипт [.filename]#rc.d# для системной службы, сначала нужно ответить на следующие вопросы: + +* Является ли служба обязательной или опциональной? +* Будет ли скрипт обслуживать одну программу, например, демон, или выполнять более сложные действия? +* От каких других служб зависит наша служба, и наоборот? + +Из следующих примеров мы увидим, почему важно знать ответы на эти вопросы. + +[[rcng-dummy]] +== Примитивный скрипт + +Следующий скрипт просто выводит сообщение каждый раз при загрузке системы: + +[.programlisting] +.... +#!/bin/sh <.> + +. /etc/rc.subr <.> + +name="dummy" <.> +start_cmd="${name}_start" <.> +stop_cmd=":" <.> + +dummy_start() <.> +{ + echo "Nothing started." +} + +load_rc_config $name <.> +run_rc_command "$1" <.> +.... + +Вот что следует учитывать: + +➊ Интерпретируемый скрипт должен начинаться с "волшебной" строки shebang. Эта строка указывает программу-интерпретатор для скрипта. Благодаря строке shebang скрипт может быть запущен точно так же, как бинарная программа, при условии что у него установлен бит выполнения. (См. man:chmod[1].) Например, системный администратор может запустить наш скрипт вручную из командной строки: + +[source, shell] +.... +# /etc/rc.d/dummy start +.... + +[NOTE] +==== +Для корректного управления в рамках [.filename]#rc.d# скрипты должны быть написаны на языке man:sh[1]. Если у вас есть служба или порт, который использует двоичную утилиту управления или процедуру запуска, написанную на другом языке, установите этот компонент в [.filename]#/usr/sbin# (для системы) или [.filename]#/usr/local/sbin# (для портов) и вызовите его из man:sh[1] скрипта в соответствующем каталоге [.filename]#rc.d#. +==== + +[TIP] +==== +Если вы хотите узнать подробности о том, почему скрипты [.filename]#rc.d# должны быть написаны на языке man:sh[1], изучите, как [.filename]#/etc/rc# вызывает их с помощью `run_rc_script`, а затем изучите реализацию `run_rc_script` в [.filename]#/etc/rc.subr#. +==== + +➋ В файле [.filename]#/etc/rc.subr# определено несколько функций man:sh[1], которые могут использоваться скриптами [.filename]#rc.d#. Эти функции описаны в man:rc.subr[8]. Хотя теоретически возможно написать скрипт [.filename]#rc.d# без использования man:rc.subr[8], его функции оказываются чрезвычайно полезными и значительно упрощают задачу. Поэтому неудивительно, что все используют man:rc.subr[8] в скриптах [.filename]#rc.d#. Мы не будем исключением. + +Файл [.filename]#rc.d# должен "подгрузить" ([.filename]#/etc/rc.subr#, включить его с помощью "`.`") _до_ вызова функций man:rc.subr[8], чтобы у man:sh[1] была возможность знать об этих функциях заранее. Предпочтительный стиль — подгружать [.filename]#/etc/rc.subr# в самом начале. + +[NOTE] +==== +Некоторые полезные функции, связанные с сетью, предоставляются другим включаемым файлом — [.filename]#/etc/network.subr#. +==== + +➌ [[name-var]]Обязательная переменная `name` определяет имя нашего скрипта. Она требуется man:rc.subr[8]. То есть, каждый скрипт в [.filename]#rc.d# _должен_ установить `name` перед вызовом функций man:rc.subr[8]. + +Теперь самое время раз и навсегда выбрать уникальное имя для нашего скрипта. Мы будем использовать его в нескольких местах при разработке скрипта. Содержимое переменной name должно соответствовать имени скрипта, так как некоторые части FreeBSD (например, crossref:rc-scripting[rcng-service-jails, сервисные клетки (jail)] и функция cpuset в rc framework) зависят от этого. Таким образом, имя файла также не должно содержать символов, которые могут вызвать проблемы в скриптах (например, не используйте дефис "-" и другие). + +[NOTE] +==== +Текущий стиль написания скриптов в [.filename]#rc.d# заключается в заключении значений, присваиваемых переменным, в двойные кавычки. Имейте в виду, что это всего лишь вопрос стиля, который может быть не всегда применим. Вы можете безопасно опустить кавычки вокруг простых слов без метасимволов man:sh[1], тогда как в некоторых случаях вам понадобятся одинарные кавычки, чтобы предотвратить интерпретацию значения man:sh[1]. Программист должен уметь отличать синтаксис языка от стилевых соглашений и разумно использовать и то, и другое. +==== + +➍ Основная идея man:rc.subr[8] заключается в том, что скрипт [.filename]#rc.d# предоставляет обработчики (или методы) для вызова man:rc.subr[8]. В частности, аргументы `start`, `stop` и другие, передаваемые в скрипт [.filename]#rc.d#, обрабатываются таким образом. Метод представляет собой выражение man:sh[1], сохранённое в переменной с именем `argument_cmd`, где _argument_ соответствует тому, что может быть указано в командной строке скрипта. Далее мы увидим, как man:rc.subr[8] предоставляет стандартные методы для типовых аргументов. + +[NOTE] +==== +Чтобы сделать код в [.filename]#rc.d# более единообразным, обычно используют `${name}` везде, где это уместно. Таким образом, множество строк можно просто копировать из одного скрипта в другой. +==== + +➎ Следует помнить, что man:rc.subr[8] предоставляет методы по умолчанию для стандартных аргументов. Следовательно, если мы хотим, чтобы стандартный метод ничего не делал, мы должны переопределить его с помощью no-op man:sh[1] выражения. + +➏ Тело сложного метода может быть реализовано в виде функции. Хорошей практикой является использование осмысленного имени функции. + +[IMPORTANT] +==== +Настоятельно рекомендуется добавлять префикс `${name}` к именам всех функций, определенных в нашем скрипте, чтобы они никогда не конфликтовали с функциями из man:rc.subr[8] или другого общего включаемого файла. +==== + +➐ Этот вызов man:rc.subr[8] загружает переменные man:rc.conf[5]. Наш скрипт пока их не использует, но всё равно рекомендуется загружать man:rc.conf[5], потому что могут быть переменные man:rc.conf[5], управляющие самим man:rc.subr[8]. + +➑ Обычно это последняя команда в скрипте [.filename]#rc.d#. Она вызывает механизм man:rc.subr[8] для выполнения запрошенного действия, используя переменные и методы, предоставленные нашим скриптом. + +[[rcng-confdummy]] +== Настраиваемый фиктивный скрипт + +Теперь добавим некоторые элементы управления в наш тестовый скрипт. Как вам может быть известно, скрипты [.filename]#rc.d# управляются с помощью man:rc.conf[5]. К счастью, man:rc.subr[8] скрывает от нас все сложности. Следующий скрипт использует man:rc.conf[5] через man:rc.subr[8], чтобы проверить, включен ли он вообще, и получить сообщение для отображения во время загрузки. Эти две задачи на самом деле независимы. С одной стороны, скрипт [.filename]#rc.d# может просто поддерживать включение и выключение своего сервиса. С другой стороны, обязательный скрипт [.filename]#rc.d# может иметь пе еменные конфигурации. Однако мы реализуем обе возможности в одном скрипте: + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name=dummy +rcvar=dummy_enable <.> + +start_cmd="${name}_start" +stop_cmd=":" + +load_rc_config $name <.> +: ${dummy_enable:=no} <.> +: ${dummy_msg="Nothing started."} <.> + +dummy_start() +{ + echo "$dummy_msg" <.> +} + +run_rc_command "$1" +.... + +Что изменилось в этом примере? + +➊ Переменная `rcvar` определяет имя переменной-переключателя ON/OFF. + +➋ Теперь `load_rc_config` вызывается раньше в скрипте, до обращения к любым переменным man:rc.conf[5]. + +[NOTE] +==== +При изучении скриптов в [.filename]#rc.d# следует помнить, что man:sh[1] откладывает вычисление выражений в функции до её вызова. Поэтому не будет ошибкой вызвать `load_rc_config` непосредственно перед `run_rc_command` и при этом обращаться к переменным man:rc.conf[5] из функций методов, экспортируемых в `run_rc_command`. Это связано с тем, что функции методов вызываются `run_rc_command`, который выполняется _после_ `load_rc_config`. +==== + +➌ `run_rc_command` выдаст предупреждение, если переменная `rcvar` установлена, но указанная переменная-флаг не задана. Если ваш скрипт [.filename]#rc.d# предназначен для базовой системы, вы должны добавить значение по умолчанию для флага в [.filename]#/etc/defaults/rc.conf# и задокументировать его в man:rc.conf[5]. В противном случае ваш скрипт должен предоставить значение по умолчанию для флага. Канонический подход для последнего случая показан в примере. + +[NOTE] +==== +Вы можете заставить man:rc.subr[8] действовать так, как если бы переключатель установлен в `ON`, независимо от его текущего значения, добавив перед аргументом скрипта префикс `one` или `force`, например `onestart` или `forcestop`. Однако учтите, что `force` имеет другие опасные эффекты, которые мы затронем ниже, тогда как `one` просто переопределяет переключатель ON/OFF. Например, предположим, что `dummy_enable` установлен в `OFF`. Следующая команда выполнит метод `start`, несмотря на настройку: + +[source, shell] +.... +# /etc/rc.d/dummy onestart +.... + +==== + +➍ Теперь сообщение, отображаемое при загрузке, больше не жестко закодировано в скрипте. Оно задается переменной `dummy_msg` в man:rc.conf[5]. Это простой пример того, как переменные man:rc.conf[5] могут управлять скриптом в [.filename]#rc.d#. + +[IMPORTANT] +==== +Имена всех переменных man:rc.conf[5], используемых исключительно нашим скриптом, _должны_ иметь один и тот же префикс: `${name}_`. Например: `dummy_mode`, `dummy_state_file` и так далее. +==== + +[NOTE] +==== +Хотя можно использовать более короткое имя внутри, например, просто `msg`, добавление уникального префикса `${name}_` ко всем глобальным именам, вводимым нашим скриптом, избавит нас от возможных конфликтов с пространством имен man:rc.subr[8]. + +Как правило, скрипты [.filename]#rc.d# базовой системы не должны предоставлять значения по умолчанию для своих переменных man:rc.conf[5], поскольку значения по умолчанию должны быть установлены в [.filename]#/etc/defaults/rc.conf#. С другой стороны, скрипты [.filename]#rc.d# для портов должны предоставлять значения по умолчанию, как показано в примере. +==== + +➎ Здесь мы используем `dummy_msg` для фактического управления нашим скриптом, т.е., для выдачи переменного сообщения. Использование shell-функции здесь избыточно, так как она выполняет только одну команду; равнозначной альтернативой является: + +[.programlisting] +.... +start_cmd="echo \"$dummy_msg\"" +.... + +[[rcng-daemon]] +== Запуск и остановка простого демона + +Мы ранее говорили, что man:rc.subr[8] может предоставлять методы по умолчанию. Очевидно, что такие методы не могут быть слишком общими. Они подходят для стандартного случая запуска и остановки простого демона. Предположим, что нам нужно написать скрипт [.filename]#rc.d# для такого демона с именем `mumbled`. Вот он: + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name=mumbled +rcvar=mumbled_enable + +command="/usr/sbin/${name}" <.> + +load_rc_config $name +run_rc_command "$1" +.... + +Приятно просто, не так ли? Давайте рассмотрим наш небольшой скрипт. Единственное новое, на что стоит обратить внимание, это следующее: + +➊ Переменная `command` имеет значение для man:rc.subr[8]. Если она установлена, man:rc.subr[8] будет действовать по сценарию обслуживания обычного демона. В частности, будут предоставлены стандартные методы для таких аргументов: `start`, `stop`, `restart`, `poll` и `status`. + +Демон будет запущен выполнением `$command` с флагами командной строки, указанными в `$mumbled_flags`. Таким образом, все входные данные для метода `start` по умолчанию доступны в переменных, установленных нашим скриптом. В отличие от `start`, другие методы могут требовать дополнительной информации о запущенном процессе. Например, `stop` должен знать PID процесса, чтобы завершить его. В данном случае, man:rc.subr[8] будет просматривать список всех процессов, ища процесс с именем, равным `procname`. Последний является ещё одной значимой переменной для man:rc.subr[8], и её значение п умолчанию совпадает со значением `command`. Другими словами, когда мы устанавливаем `command`, `procname` фактически устанавливается в то же значение. Это позволяет нашему скрипту завершить демон и проверить, запущен ли он вообще. + +[NOTE] +==== +Некоторые программы на самом деле являются исполняемыми скриптами. Система запускает такие скрипты, запуская их интерпретатор и передавая ему имя скрипта в качестве аргумента командной строки. Это отражается в списке процессов, что может сбить с толку man:rc.subr[8]. Дополнительно следует установить `command_interpreter`, чтобы man:rc.subr[8] знал фактическое имя процесса, если `$command` является скриптом. + +Для каждого скрипта [.filename]#rc.d# существует необязательная переменная man:rc.conf[5], которая имеет приоритет над `command`. Её имя формируется следующим образом: `${name}_program`, где `name` — это обязательная переменная, которую мы обсуждали crossref:rc-scripting[name-var, ранее]. Например, в данном случае это будет `mumbled_program`. Именно man:rc.subr[8] обеспечивает переопределение `command` с помощью `${name}_program`. + +Конечно, man:sh[1] позволяет установить `${name}_program` из man:rc.conf[5] или самого скрипта, даже если `command` не задан. В этом случае специальные свойства `${name}_program` теряются, и она становится обычной переменной, которую ваш скрипт может использовать для своих целей. Однако использование `${name}_program` в одиночку не рекомендуется, так как совместное использование с `command` стало идиомой в [.filename]#rc.d# скриптах. +==== + +Для получения более подробной информации о стандартных методах обратитесь к man:rc.subr[8]. + +[[rcng-daemon-adv]] +== Запуск и остановка продвинутого демона + +Добавим немного мяса к костям предыдущего скрипта и сделаем его более сложным и функциональным. Стандартные методы могут хорошо справляться с задачами, но иногда требуется их тонкая настройка. Теперь мы узнаем, как адаптировать стандартные методы под наши нужды. + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name=mumbled +rcvar=mumbled_enable + +command="/usr/sbin/${name}" +command_args="mock arguments > /dev/null 2>&1" <.> + +pidfile="/var/run/${name}.pid" <.> + +required_files="/etc/${name}.conf /usr/share/misc/${name}.rules" <.> + +sig_reload="USR1" <.> + +start_precmd="${name}_prestart" <.> +stop_postcmd="echo Bye-bye" <.> + +extra_commands="reload plugh xyzzy" <.> + +plugh_cmd="mumbled_plugh" <.> +xyzzy_cmd="echo 'Nothing happens.'" + +mumbled_prestart() +{ + if checkyesno mumbled_smart; then <.> + rc_flags="-o smart ${rc_flags}" <.> + fi + case "$mumbled_mode" in + foo) + rc_flags="-frotz ${rc_flags}" + ;; + bar) + rc_flags="-baz ${rc_flags}" + ;; + *) + warn "Invalid value for mumbled_mode" <.> + return 1 <.> + ;; + esac + run_rc_command xyzzy <.> + return 0 +} + +mumbled_plugh() <.> +{ + echo 'A hollow voice says "plugh".' +} + +load_rc_config $name +run_rc_command "$1" +.... + +➊ Дополнительные аргументы для `$command` могут быть переданы в `command_args`. Они будут добавлены в командную строку после `$mumbled_flags`. Поскольку итоговая командная строка передаётся в `eval` для фактического выполнения, перенаправления ввода и вывода могут быть указаны в `command_args`. + +[NOTE] +==== +Никогда не включайте параметры с дефисами, такие как `-X` или `--foo`, в `command_args`. Содержимое `command_args` будет добавлено в конец итоговой командной строки, поэтому, скорее всего, окажется после аргументов, указанных в `${name}_flags`; однако большинство команд не распознают параметры с дефисами после обычных аргументов. Лучший способ передать дополнительные параметры в `$command` — добавить их в начало `${name}_flags`. Другой способ — изменить `rc_flags` crossref:rc-scripting[rc-flags, как показано далее]. +==== + +➋ Вежливый демон должен создавать _pidfile_, чтобы его процесс можно было найти проще и надежнее. Переменная `pidfile`, если она установлена, указывает man:rc.subr[8], где можно найти pidfile для использования его стандартными методами. + +[NOTE] +==== +На самом деле, man:rc.subr[8] также использует pidfile для проверки, запущен ли демон, перед его запуском. Эту проверку можно пропустить, используя аргумент `faststart`. +==== + +➌ Если демон не может работать без определённых файлов, просто укажите их в `required_files`, и man:rc.subr[8] проверит их наличие перед запуском демона. Также существуют `required_dirs` и `required_vars` для каталогов и переменных окружения соответственно. Все они подробно описаны в man:rc.subr[8]. + +[NOTE] +==== +Метод по умолчанию из man:rc.subr[8] можно принудительно заставить пропустить проверки предварительных условий, используя аргумент `forcestart` в скрипте. +==== + +➍ Мы можем настроить сигналы, отправляемые демону, если они отличаются от общеизвестных. В частности, `sig_reload` указывает сигнал, который заставляет демона перезагрузить свою конфигурацию; по умолчанию это SIGHUP. Другой сигнал отправляется для остановки процесса демона; по умолчанию используется SIGTERM, но это можно изменить, установив `sig_stop` соответствующим образом. + +[NOTE] +==== +Имена сигналов должны указываться для man:rc.subr[8] без префикса `SIG`, как показано в примере. Версия man:kill[1] в FreeBSD может распознавать префикс `SIG`, но версии из других типов ОС могут не поддерживать его. +==== + +➎➏ Выполнение дополнительных задач до или после стандартных методов — это просто. Для каждого аргумента команды, поддерживаемого нашим скриптом, мы можем определить `argument_precmd` и `argument_postcmd`. Эти команды man:sh[1] вызываются до и после соответствующего метода, что очевидно из их названий. + +[NOTE] +==== +Переопределение стандартного метода с помощью пользовательского `argument_cmd` всё равно не мешает нам использовать `argument_precmd` или `argument_postcmd`, если это необходимо. В частности, первый полезен для проверки пользовательских сложных условий, которые должны быть выполнены перед выполнением самой команды. Использование `argument_precmd` вместе с `argument_cmd` позволяет логически разделить проверки от действия. + +Не забывайте, что вы можете вставлять любые допустимые выражения из man:sh[1] в определяемые вами методы, а также команды pre- и post-. Просто вызывать функцию, которая выполняет основную работу, — это хороший стиль в большинстве случаев, но никогда не позволяйте стилю ограничивать ваше понимание того, что происходит за кулисами. +==== + +➐ Если мы хотим реализовать пользовательские аргументы, которые также можно рассматривать как _команды_ для нашего скрипта, необходимо перечислить их в `extra_commands` и предоставить методы для их обработки. + +[NOTE] +==== +Команда `reload` является особенной. С одной стороны, у неё есть предустановленный метод в man:rc.subr[8]. С другой стороны, `reload` не предлагается по умолчанию. Причина в том, что не все демоны используют одинаковый механизм перезагрузки, а у некоторых вообще нет ничего для перезагрузки. Поэтому нам нужно явно запросить предоставление встроенной функциональности. Это можно сделать с помощью `extra_commands`. + +Что мы получаем от метода по умолчанию для `reload`? Довольно часто демоны перезагружают свою конфигурацию при получении сигнала — обычно, SIGHUP. Поэтому man:rc.subr[8] пытается перезагрузить демона, отправляя ему сигнал. Сигнал предустановлен на SIGHUP, но может быть изменён через `sig_reload` при необходимости. +==== + +➑⓮ Наш скрипт поддерживает две нестандартные команды: `plugh` и `xyzzy`. Мы видели их в списке `extra_commands`, и теперь пришло время реализовать методы для них. Метод для `xyzzy` просто встроен в код, а для `plugh` он реализован как функция `mumbled_plugh`. + +Нестандартные команды не вызываются во время запуска или завершения работы. Обычно они предназначены для удобства системного администратора. Они также могут использоваться другими подсистемами, например, man:devd[8], если указаны в man:devd.conf[5]. + +Полный список доступных команд можно найти в строке использования, выводимой man:rc.subr[8], когда скрипт вызывается без аргументов. Например, вот строка использования из изучаемого скрипта: + +[source, shell] +.... +# /etc/rc.d/mumbled +Usage: /etc/rc.d/mumbled [fast|force|one](start|stop|restart|rcvar|reload|plugh|xyzzy|status|poll) +.... + +⓭ Скрипт может вызывать свои собственные стандартные или нестандартные команды, если это необходимо. Это может выглядеть похоже на вызов функций, но мы знаем, что команды и функции оболочки не всегда одно и то же. Например, `xyzzy` не реализован как функция в данном случае. Кроме того, могут существовать пред-команда и пост-команда, которые должны вызываться в определённом порядке. Поэтому правильный способ для скрипта выполнить свою собственную команду — с помощью man:rc.subr[8], как показано в примере. + +➒ Полезная функция `checkyesno` предоставляется man:rc.subr[8]. Она принимает имя переменной в качестве аргумента и возвращает нулевой код выхода только если переменная установлена в `YES`, `TRUE`, `ON` или `1`, без учёта регистра; в противном случае возвращается ненулевой код выхода. В последнем случае функция проверяет, установлена ли переменная в `NO`, `FALSE`, `OFF` или `0`, также без учёта регистра; если переменная содержит что-то иное (т.е. мусор), функция выводит предупреждение. + +Имейте в виду, что для man:sh[1] нулевой код возврата означает истину, а ненулевой код возврата означает ложь. + +[IMPORTANT] +==== +Функция `checkyesno` принимает __имя переменной__. Не передавайте ей _значение_ переменной; это не будет работать, как ожидается. + +Ниже приведено правильное использование `checkyesno`: + +[.programlisting] +.... +if checkyesno mumbled_enable; then + foo +fi +.... + +Напротив, вызов `checkyesno`, как показано ниже, не сработает — по крайней мере, не так, как ожидается: + +[.programlisting] +.... +if checkyesno "${mumbled_enable}"; then + foo +fi +.... + +==== + +➓ [[rc-flags]] Мы можем влиять на флаги, передаваемые команде `$command`, изменяя `rc_flags` в `$start_precmd`. + +⓫ В некоторых случаях может потребоваться вывести важное сообщение, которое также должно попасть в `syslog`. Это можно легко сделать с помощью следующих функций man:rc.subr[8]: `debug`, `info`, `warn` и `err`. Последняя функция завершает выполнение скрипта с указанным кодом. + +⓬ Коды выхода из методов и их предварительных команд не просто игнорируются по умолчанию. Если `argument_precmd` возвращает ненулевой код выхода, основной метод не будет выполнен. В свою очередь, `argument_postcmd` не будет вызван, если основной метод возвращает ненулевой код выхода. + +[NOTE] +==== +Однако man:rc.subr[8] можно указать из командной строки игнорировать эти коды завершения и выполнять все команды в любом случае, добавив префикс `force` к аргументу, например `forcestart`. +==== + +[[rcng-hookup]] +== Подключение скрипта к инфраструктуре rc.d + +После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}special/[в Руководстве FreeBSD по созданию портов, rc-скрипт ы]. + +Однако следует заранее продумать место нашего скрипта в последовательности запуска системы. Скорее всего, обслуживаемый нашим скриптом сервис зависит от других сервисов. Например, сетевой демон не может работать без поднятых сетевых интерфейсов и маршрутизации. Даже если сервис, казалось бы, ничего не требует, он вряд ли сможет запуститься до проверки и монтирования основных файловых систем. + +Мы уже упоминали man:rcorder[8]. Теперь пришло время рассмотреть его подробнее. В двух словах, man:rcorder[8] принимает набор файлов, анализирует их содержимое и выводит на `stdout` список этих файлов, упорядоченный по зависимостям. Главная идея заключается в том, чтобы хранить информацию о зависимостях _внутри_ файлов, чтобы каждый файл мог описывать только себя. Файл может содержать следующую информацию: + +* имена "условий" (что для нас означает сервисы), которые он __предоставляет__; +* имена "условий", которые он __требует__; +* имена "условий", перед которыми должен выполняться этот файл; +* дополнительные _ключевые слова_, которые могут использоваться для выбора подмножества из всего набора файлов (man:rcorder[8] может быть настроен с помощью опций для включения или исключения файлов, содержащих указанные ключевые слова.) + +Неудивительно, что man:rcorder[8] может обрабатывать только текстовые файлы с синтаксисом, близким к man:sh[1]. То есть специальные строки, понимаемые man:rcorder[8], выглядят как комментарии в man:sh[1]. Синтаксис таких специальных строк довольно жёсткий, чтобы упростить их обработку. Подробности см. в man:rcorder[8]. + +Помимо использования специальных строк man:rcorder[8], скрипт может настаивать на своей зависимости от другой службы, просто принудительно запуская её. Это может быть необходимо, когда другая служба является опциональной и не запускается самостоятельно, потому что системный администратор ошибочно отключил её в man:rc.conf[5]. + +С учетом этих общих знаний рассмотрим простой скрипт демона, дополненный зависимостями: + +[.programlisting] +.... +#!/bin/sh + +# PROVIDE: mumbled oldmumble <.> +# REQUIRE: DAEMON cleanvar frotz <.> +# BEFORE: LOGIN <.> +# KEYWORD: nojail shutdown <.> + +. /etc/rc.subr + +name=mumbled +rcvar=mumbled_enable + +command="/usr/sbin/${name}" +start_precmd="${name}_prestart" + +mumbled_prestart() +{ + if ! checkyesno frotz_enable && \ + ! /etc/rc.d/frotz forcestatus 1>/dev/null 2>&1; then + force_depend frotz || return 1 <.> + fi + return 0 +} + +load_rc_config $name +run_rc_command "$1" +.... + +Как и ранее, следует детальный анализ: + +➊ Эта строка объявляет названия "условий", которые предоставляет наш скрипт. Теперь другие скрипты могут указывать зависимость от нашего скрипта по этим именам. + +[NOTE] +==== +Обычно скрипт указывает одно предоставленное условие. Однако ничто не мешает нам перечислить несколько условий, например, по причинам совместимости. + +В любом случае, название основного или единственного условия `PROVIDE:` должно совпадать с `${name}`. +==== + +➋➌ Таким образом, наш скрипт указывает, от каких "условий", предоставляемых другими скриптами, он зависит. Согласно строкам, наш скрипт просит man:rcorder[8] разместить его после скрипта(ов), предоставляющих [.filename]#DAEMON# и [.filename]#cleanvar#, но перед тем, который предоставляет [.filename]#LOGIN#. + +[NOTE] +==== +Строку `BEFORE:` не следует использовать для обхода неполного списка зависимостей в другом скрипте. Правильный случай для использования `BEFORE:` — когда другой скрипт не зависит от нашего, но наш скрипт может выполнить свою задачу лучше, если запустится до другого. Типичный пример из реальной жизни — сетевые интерфейсы и межсетевой экран: хотя интерфейсы не зависят от межсетевого экрана при выполнении своей работы, безопасность системы выиграет, если межсетевой экран будет готов до начала сетевого трафика. + +Помимо условий, соответствующих отдельным службам, существуют метаусловия и их "заглушки" скриптов, используемые для обеспечения выполнения определённых групп операций в заданном порядке. Они обозначаются именами в [.filename]#ВЕРХНЕМ РЕГИСТРЕ#. Их список и назначение можно найти в man:rc[8]. + +Имейте в виду, что указание имени службы в строке `REQUIRE:` не гарантирует, что служба действительно будет запущена к моменту старта нашего скрипта. Требуемая служба может не запуститься или быть отключена в man:rc.conf[5]. Очевидно, man:rcorder[8] не может отслеживать такие детали, и man:rc[8] тоже этого не делает. Следовательно, приложение, запускаемое нашим скриптом, должно быть способно обрабатывать ситуации, когда требуемые службы недоступны. В некоторых случаях мы можем помочь ему, как описано в crossref:rc-scripting[forcedep, ниже] +==== + +[[keywords]]➍ Как мы помним из текста выше, ключевые слова man:rcorder[8] могут использоваться для выбора или исключения некоторых скриптов. А именно, любой потребитель man:rcorder[8] может указать с помощью опций `-k` и `-s`, какие ключевые слова находятся в "списке сохранения" и "списке пропуска" соответственно. Из всех файлов, подлежащих сортировке по зависимостям, man:rcorder[8] выберет только те, которые имеют ключевое слово из списка сохранения (если он не пуст) и не имеют ключевого слова из списка пропуска. + +В FreeBSD, man:rcorder[8] используется [.filename]#/etc/rc# и [.filename]#/etc/rc.shutdown#. Эти два скрипта определяют стандартный список ключевых слов [.filename]#rc.d# FreeBSD и их значения следующим образом: + +nojail:: Сервис не предназначен для окружения man:jail[8]. Процедуры автоматического запуска и остановки будут игнорировать скрипт, если он находится внутри клетки. + +nostart:: Служба должна запускаться вручную или не запускаться вовсе. Процедура автоматического запуска проигнорирует скрипт. В сочетании с ключевым словом [.filename]#shutdown# это может использоваться для написания скриптов, выполняющих действия только при выключении системы. + +shutdown:: Этот ключевой параметр должен быть указан __явно__, если службу необходимо остановить перед завершением работы системы. + +[NOTE] +==== +Когда система собирается завершить работу, выполняется [.filename]#/etc/rc.shutdown#. Предполагается, что большинству скриптов [.filename]#rc.d# в этот момент нечего делать. Поэтому [.filename]#/etc/rc.shutdown# выборочно запускает скрипты [.filename]#rc.d# с ключевым словом [.filename]#shutdown#, фактически игнорируя остальные скрипты. Для ещё более быстрого завершения работы [.filename]#/etc/rc.shutdown# передаёт команду [.filename]#faststop# запускаемым скриптам, чтобы они пропускали предварительные проверки, например, проверку pid-файла. Поскольку зависимые службы должны быть остановлены до своих зависимо тей, [.filename]#/etc/rc.shutdown# запускает скрипты в обратном порядке зависимостей. Если вы пишете настоящий скрипт [.filename]#rc.d#, стоит подумать, актуален ли он во время завершения работы системы. Например, если ваш скрипт выполняет свою работу только в ответ на команду [.filename]#start#, то включать это ключевое слово не нужно. Однако если ваш скрипт управляет службой, вероятно, стоит остановить её до того, как система перейдёт к финальной стадии завершения работы, описанной в man:halt[8]. В частности, службу следует останавливать явно, если для её корректного завер ения требуется значите! ьное время или специальные действия. Типичный пример такой службы — система управления базами данных. +==== + +[[forcedep]]➎ Прежде всего, `force_depend` следует использовать с большой осторожностью. Обычно лучше пересмотреть иерархию конфигурационных переменных для ваших [.filename]#rc.d# скриптов, если они взаимозависимы. + +Если вам всё ещё не обойтись без `force_depend`, в примере показано, как вызвать его условно. В примере наш демон `mumbled` требует, чтобы другой демон, `frotz`, был запущен заранее. Однако `frotz` также является опциональным, и man:rcorder[8] ничего не знает о таких деталях. К счастью, наш скрипт имеет доступ ко всем переменным man:rc.conf[5]. Если `frotz_enable` имеет значение true, мы надеемся на лучшее и полагаемся на [.filename]#rc.d#, что `frotz` был запущен. В противном случае мы принудительно проверяем статус `frotz`. Наконец, мы принудительно устанавливаем зависимость от `frotz`, если обнаружи аем, что он не запущен. `force_depend` выдаст предупреждение, так как его следует вызывать только в случае обнаружения неправильной конфигурации. + +[[rcng-args]] +== Придание большей гибкости скрипту rc.d + +При вызове во время запуска или завершения работы скрипт [.filename]#rc.d# должен воздействовать на всю подсистему, за которую он отвечает. Например, [.filename]#/etc/rc.d/netif# должен запускать или останавливать все сетевые интерфейсы, описанные в man:rc.conf[5]. Любая из этих задач может быть однозначно указана единственным аргументом команды, таким как `start` или `stop`. Между запуском и завершением работы скрипты [.filename]#rc.d# помогают администратору управлять работающей системой, и именно тогда возникает потребность в большей гибкости и точности. Например, администр атор может добавить настройки нового сетевого интерфейса в man:rc.conf[5], а затем запустить его, не затрагивая работу существующих интерфейсов. В следующий раз администратору может потребоваться остановить отдельный сетевой интерфейс. В духе командной строки, соответствующий скрипт [.filename]#rc.d# требует дополнительного аргумента — имени интерфейса. + +К счастью, man:rc.subr[8] позволяет передавать любое количество аргументов (в пределах системных ограничений) методам скрипта. Благодаря этому изменения в самом скрипте могут быть минимальными. + +Как man:rc.subr[8] может получить доступ к дополнительным аргументам командной строки. Должен ли он просто захватывать их напрямую? Ни в коем случае. Во-первых, функция man:sh[1] не имеет доступа к позиционным параметрам своего вызывающего объекта, но man:rc.subr[8] — это просто набор таких функций. Во-вторых, хороший стиль [.filename]#rc.d# предписывает, что именно главный скрипт должен решать, какие аргументы передавать его методам. + +Итак, подход, принятый в man:rc.subr[8], следующий: `run_rc_command` передаёт все свои аргументы, кроме первого, в соответствующий метод в неизменном виде. Первый, опущенный аргумент — это имя самого метода: `start`, `stop` и т.д. Он будет удалён с помощью `shift` в `run_rc_command`, так что то, что было `$2` в оригинальной командной строке, будет представлено как `$1` в методе, и так далее. + +Чтобы проиллюстрировать эту возможность, давайте изменим примитивный скрипт-заглушку так, чтобы его сообщения зависели от дополнительных переданных аргументов. Вот как это выглядит: + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name="dummy" +start_cmd="${name}_start" +stop_cmd=":" +kiss_cmd="${name}_kiss" +extra_commands="kiss" + +dummy_start() +{ + if [ $# -gt 0 ]; then <.> + echo "Greeting message: $*" + else + echo "Nothing started." + fi +} + +dummy_kiss() +{ + echo -n "A ghost gives you a kiss" + if [ $# -gt 0 ]; then <.> + echo -n " and whispers: $*" + fi + case "$*" in + *[.!?]) + echo + ;; + *) + echo . + ;; + esac +} + +load_rc_config $name +run_rc_command "$@" <.> +.... + +Какие основные изменения мы можем заметить в скрипте? + +➊ Все аргументы, которые вы вводите после `start`, могут стать позиционными параметрами для соответствующего метода. Мы можем использовать их любым способом в соответствии с нашей задачей, навыками и предпочтениями. В текущем примере мы просто передаем все их в man:echo[1] как одну строку в следующей строке — обратите внимание на `$*` в двойных кавычках. Вот как теперь можно вызывать этот скрипт: + +[source, shell] +.... +# /etc/rc.d/dummy start +Nothing started. + +# /etc/rc.d/dummy start Hello world! +Greeting message: Hello world! +.... + +➋ То же самое относится к любому методу, который предоставляет наш скрипт, не только к стандартному. Мы добавили пользовательский метод с именем `kiss`, и он может использовать дополнительные аргументы не меньше, чем `start`. Например: + +[source, shell] +.... +# /etc/rc.d/dummy kiss +A ghost gives you a kiss. + +# /etc/rc.d/dummy kiss Once I was Etaoin Shrdlu... +A ghost gives you a kiss and whispers: Once I was Etaoin Shrdlu... +.... + +➌ Если мы хотим просто передать все дополнительные аргументы любому методу, мы можем просто заменить `"$@"` на `"$1"` в последней строке нашего скрипта, где мы вызываем `run_rc_command`. + +[IMPORTANT] +==== +Программист man:sh[1] должен понимать тонкую разницу между `$*` и `$@` как способами обозначения всех позиционных параметров. Для детального обсуждения обратитесь к хорошему руководству по написанию скриптов на man:sh[1]. _Не используйте_ эти выражения, пока полностью не поймёте их, так как их неправильное применение приведёт к созданию ненадёжных и небезопасных скриптов. +==== + +[NOTE] +==== +В настоящее время в `run_rc_command` может присутствовать ошибка, которая мешает ему сохранять исходные границы между аргументами. То есть аргументы с встроенными пробелами могут обрабатываться некорректно. Ошибка возникает из-за неправильного использования `$*`. +==== + +[[rcng-service-jails]] +== Подготовка скрипта для сервисных клеток + +Скрипты, запускающие долго работающую службу, подходят для служебных клеток и должны поставляться с соответствующей конфигурацией сервисной клетки. + +Некоторые примеры скриптов, которые не подходят для запуска в сервисной клетке: + +* любой скрипт, который в команде start только изменяет настройки времени выполнения для программ или ядра, +* или пытается что-то смонтировать, +* или находит и удаляет файлы + +Необходимо предотвратить использование внутри сервисных клеток скриптов, не предназначенных для запуска в сервисной клетке. + +Скрипт с долго работающей службой, которому необходимо выполнить одно из перечисленных выше действий перед запуском или после остановки, может быть разделён на два скрипта с зависимостями или использовать части `precommand` и `postcommand` скрипта для выполнения этого действия. + +По умолчанию только части `start` и `stop` скрипта выполняются внутри сервисной клетки, остальное выполняется вне клетки. Таким образом, любые настройки, используемые в частях `start`/`stop` скрипта, не могут быть заданы, например, из `precommand`. + +Чтобы сделать скрипт готовым к использованию с extref:../../books/handbook/jails/#service-jails[Сервисными Клетками], необходимо добавить всего одну строку конфигурации: + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name="dummy" +start_cmd="${name}_start" +stop_cmd=":" + +: ${dummy_svcj_options:=""} <.> + +dummy_start() +{ + echo "Nothing started." +} + +load_rc_config $name +run_rc_command "$1" +.... + +➊ Если имеет смысл, чтобы скрипт выполнялся в клетке, он должен иметь переопределяемую конфигурацию сервисных клеток. Если ему не требуется доступ к сети или любым другим ресурсам, которые ограничены в клетках, достаточно пустой конфигурации, как показано. + +Строго говоря, пустая конфигурация не обязательна, но она явно указывает, что скрипт готов к работе с сервисными клетками и не требует дополнительных разрешений для клеток. Поэтому настоятельно рекомендуется добавить такую пустую конфигурацию в таком случае. Наиболее распространённая опция — "net_basic", которая позволяет использовать IPv4 и IPv6 адреса хоста. Все возможные опции описаны в man:rc.conf[5]. + +Если настройка запуска/остановки зависит от переменных из rc-фреймворка (например, заданных в man:rc.conf[5]), это должно обрабатываться с помощью ``load_rc_config`` и ``run_rc_command``, а не внутри precommand. + +Если по какой-то причине скрипт не может быть запущен внутри сервисной клетки, например, потому что его невозможно запустить или нет смысла запускать его в клетке, используйте следующее: + +[.programlisting] +.... +#!/bin/sh + +. /etc/rc.subr + +name="dummy" +start_cmd="${name}_start" +stop_cmd=":" + +dummy_start() +{ + echo "Nothing started." +} + +load_rc_config $name +dummy_svcj="NO" # does not make sense to run in a svcj <.> +run_rc_command "$1" +.... + +➊ Отключение должно происходить после вызова ``load_rc_config``, иначе параметр из man:rc.conf[5] может переопределить его. + +[[rcng-instancing]] +== Продвинутые сценарии rc: запуск нескольких экземпляров + +Иногда полезно запускать несколько экземпляров службы. Обычно требуется иметь возможность независимо запускать/останавливать такие экземпляры, а также иметь отдельный файл конфигурации для каждого из них. Каждый экземпляр должен запускаться при загрузке, после обновления каждый экземпляр должен оставаться, и при этом должен обновиться. + +Вот пример rc-скрипта, который поддерживает это: + +[.programlisting] +.... +#!/bin/sh + +# +# PROVIDE: dummy +# REQUIRE: NETWORKING SERVERS +# KEYWORD: shutdown +# +# Add these following line to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# dummy_enable (bool): Set it to YES to enable dummy on startup. +# Default: NO +# dummy_user (string): User account to run with. +# Default: www +# + +. /etc/rc.subr + +case $0 in <.> +/etc/rc*) + # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), + # so get the name of the script from $_file + name=$_file + ;; +*) + name=$0 + ;; +esac + +name=${name##*/} <.> +rcvar="${name}_enable" <.> +desc="Short description of this service" +command="/usr/local/sbin/dummy" + +load_rc_config "$name" + +eval "${rcvar}=\${${rcvar}:-'NO'}" <.> +eval "${name}_svcj_options=\${${name}_svcj_options:-'net_basic'}" <.> +eval "_dummy_user=\${${name}_user:-'www'}" <.> + +_dummy_configname=/usr/local/etc/${name}.cfg <.> +pidfile=/var/run/dummy/${name}.pid +required_files ${_dummy_configname} +command_args="-u ${_dummy_user} -c ${_dummy_configfile} -p ${pidfile}" + +run_rc_command "$1" +.... + +➊ и ➋ убедитесь, что переменная name установлена в значение man:basename[1] имени скрипта. Если имя файла — [.filename]#/usr/local/etc/rc.d/dummy#, то name будет установлено в [.filename]#dummy#. Таким образом, изменение имени rc-скрипта автоматически изменит содержимое переменной name. + +➌ указывает имя переменной, которая используется в [.filename]#rc.conf# для включения этой службы на основе имени файла этого скрипта. В данном примере это преобразуется в dummy_enable. + +➍ убеждается, что значение по умолчанию для переменной _enable установлено в NO. + +➎ Вот пример установки некоторых значений по умолчанию для переменных фреймворка, специфичных для службы, в данном случае — опций клетки службы. + +➏ и ➐ устанавливают переменные, внутренние для скрипта (обратите внимание на подчёркивание в начале _dummy_user, чтобы отличать её от dummy_user, которая может быть задана в [.filename]#rc.conf#). + +Часть в ➎ предназначена для переменных, которые не используются внутри самого скрипта, но используются в рамках rc. Все переменные, которые используются как параметры в скрипте, присваиваются общей переменной, как в ➐, чтобы упростить их использование (нет необходимости выполнять eval при каждом обращении). + +Этот скрипт теперь будет вести себя по-другому, если скрипт запуска имеет другое имя. Это позволяет создавать символьные ссылки на него: + +[source, shell] +.... +# ln -s dummy /usr/local/etc/rc.d/dummy_foo +# sysrc dummy_foo_enable=YES +# service dummy_foo start +.... + +Вышеприведенное создает экземпляр службы dummy с именем dummy_foo. Он использует не файл конфигурации [.filename]#/usr/local/etc/dummy.cfg#, а файл конфигурации [.filename]#/usr/local/etc/dummy_foo.cfg# (➐), и использует PID-файл [.filename]#/var/run/dummy/dummy_foo.pid# вместо [.filename]#/var/run/dummy/dummy.pid#. + +Сервисы dummy и dummy_foo могут управляться независимо друг от друга, при этом скрипт запуска обновляется автоматически при обновлении пакета (благодаря символьной ссылке). Это не обновляет строку REQUIRE, поэтому нет простого способа зависеть от конкретного экземпляра. Чтобы зависеть от конкретного экземпляра в порядке запуска, необходимо создать копию вместо использования символьной ссылки. Это предотвращает автоматическое применение изменений в скрипте запуска при установке обновления. + +[[rcng-furthur]] +== Дополнительная литература + +[[lukem]]http://www.mewburn.net/luke/papers/rc.d.pdf[Оригинальная статья Люка Мьюберна] предлагает общий обзор [.filename]#rc.d# и подробное обоснование принятых при его проектировании решений. В ней представлено понимание всего фреймворка [.filename]#rc.d# и его места в современной BSD-системе. + +[[manpages]]Руководства man:rc[8], man:rc.subr[8] и man:rcorder[8] подробно описывают компоненты [.filename]#rc.d#. Без изучения этих руководств и обращения к ним при написании собственных скриптов невозможно в полной мере использовать возможности [.filename]#rc.d#. + +Основным источником рабочих, жизненных примеров является [.filename]#/etc/rc.d# в работающей системе. Его содержимое легко и приятно читать, поскольку большинство сложных моментов скрыто глубоко в man:rc.subr[8]. Однако помните, что скрипты в [.filename]#/etc/rc.d# были написаны не ангелами, поэтому они могут содержать ошибки и неоптимальные решения. Теперь вы можете их улучшить! diff --git a/documentation/content/ru/articles/rc-scripting/_index.po b/documentation/content/ru/articles/rc-scripting/_index.po new file mode 100644 index 0000000000..eb6e3fab38 --- /dev/null +++ b/documentation/content/ru/articles/rc-scripting/_index.po @@ -0,0 +1,2771 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov , 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-20 11:17+0300\n" +"PO-Revision-Date: 2025-09-27 04:45+0000\n" +"Last-Translator: Vladlen Popolitov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/articles/rc-scripting/_index.adoc:1 +#, no-wrap +msgid "A guide to writing new rc.d scripts and understanding those already written" +msgstr "Руководство по написанию новых rc.d-скриптов и пониманию уже существующих" + +#. type: Title = +#: documentation/content/en/articles/rc-scripting/_index.adoc:1 +#: documentation/content/en/articles/rc-scripting/_index.adoc:12 +#, no-wrap +msgid "Practical rc.d scripting in BSD" +msgstr "Практическое руководство по написанию rc.d скриптов в BSD" + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:45 +msgid "Abstract" +msgstr "Аннотация" + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:49 +msgid "" +"Beginners may find it difficult to relate the facts from the formal " +"documentation on the BSD [.filename]#rc.d# framework with the practical " +"tasks of [.filename]#rc.d# scripting. In this article, we consider a few " +"typical cases of increasing complexity, show [.filename]#rc.d# features " +"suited for each case, and discuss how they work. Such an examination should " +"provide reference points for further study of the design and efficient " +"application of [.filename]#rc.d#." +msgstr "" +"Новичкам может быть сложно соотнести факты из официальной документации по " +"фреймворку [.filename]#rc.d# в BSD с практическими задачами написания " +"скриптов для [.filename]#rc.d#. В этой статье мы рассмотрим несколько " +"типичных случаев возрастающей сложности, покажем возможности " +"[.filename]#rc.d#, подходящие для каждого случая, и обсудим, как они " +"работают. Такое рассмотрение должно дать ориентиры для дальнейшего изучения " +"устройства и эффективного применения [.filename]#rc.d#." + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:51 +msgid "'''" +msgstr "'''" + +#. type: Title == +#: documentation/content/en/articles/rc-scripting/_index.adoc:55 +#, no-wrap +msgid "Introduction" +msgstr "Введение" + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:61 +msgid "" +"The historical BSD had a monolithic startup script, [.filename]#/etc/rc#. " +"It was invoked by man:init[8] at system boot time and performed all userland " +"tasks required for multi-user operation: checking and mounting file systems, " +"setting up the network, starting daemons, and so on. The precise list of " +"tasks was not the same in every system; admins needed to customize it. With " +"few exceptions, [.filename]#/etc/rc# had to be modified, and true hackers " +"liked it." +msgstr "" +"Исторически в BSD был монолитный стартовый сценарий [.filename]#/etc/rc#. Он " +"вызывался man:init[8] во время загрузки системы и выполнял все задачи " +"пользовательского пространства, необходимые для многопользовательского " +"режима: проверку и монтирование файловых систем, настройку сети, запуск " +"демонов и так далее. Точный список задач не был одинаковым в каждой системе; " +"администраторам требовалось его настраивать. За редкими исключениями, " +"[.filename]#/etc/rc# приходилось изменять, и настоящим хакерам это нравилось." + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:67 +msgid "" +"The real problem with the monolithic approach was that it provided no " +"control over the individual components started from [.filename]#/etc/rc#. " +"For instance, [.filename]#/etc/rc# could not restart a single daemon. The " +"system admin had to find the daemon process by hand, kill it, wait until it " +"actually exited, then browse through [.filename]#/etc/rc# for the flags, and " +"finally type the full command line to start the daemon again. The task " +"would become even more difficult and prone to errors if the service to " +"restart consisted of more than one daemon or demanded additional actions. " +"In a few words, the single script failed to fulfil what scripts are for: to " +"make the system admin's life easier." +msgstr "" +"Основная проблема монолитного подхода заключалась в том, что он не " +"предоставлял контроля над отдельными компонентами, запускаемыми из " +"[.filename]#/etc/rc#. Например, [.filename]#/etc/rc# не мог перезапустить " +"отдельный демон. Администратору системы приходилось вручную находить процесс " +"демона, завершать его, ждать, пока он действительно завершится, затем искать " +"в [.filename]#/etc/rc# нужные флаги и, наконец, вводить полную командную " +"строку для повторного запуска демона. Задача становилась ещё сложнее и более " +"подверженной ошибкам, если служба состояла из нескольких демонов или " +"требовала дополнительных действий. Одним словом, единый скрипт не справлялся " +"с тем, для чего скрипты вообще предназначены: облегчать жизнь администратору " +"системы." + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:74 +msgid "" +"Later there was an attempt to split out some parts of [.filename]#/etc/rc# " +"for the sake of starting the most important subsystems separately. The " +"notorious example was [.filename]#/etc/netstart# to bring up networking. It " +"did allow for accessing the network from single-user mode, but it did not " +"integrate well into the automatic startup process because parts of its code " +"needed to interleave with actions essentially unrelated to networking. That " +"was why [.filename]#/etc/netstart# mutated into [.filename]#/etc/" +"rc.network#. The latter was no longer an ordinary script; it comprised of " +"large, tangled man:sh[1] functions called from [.filename]#/etc/rc# at " +"different stages of system startup. However, as the startup tasks grew " +"diverse and sophisticated, the \"quasi-modular\" approach became even more " +"of a drag than the monolithic [.filename]#/etc/rc# had been." +msgstr "" +"Позже была предпринята попытка разделить некоторые части [.filename]#/etc/" +"rc# для возможности отдельного запуска наиболее важных подсистем. Известным " +"примером стал [.filename]#/etc/netstart#, предназначенный для настройки " +"сети. Это позволяло получить доступ к сети в однопользовательском режиме, но " +"плохо интегрировалось в автоматический процесс запуска, так как части его " +"кода требовалось переплетаться с действиями, по сути не связанными с сетью. " +"Именно поэтому [.filename]#/etc/netstart# превратился в [.filename]#/etc/" +"rc.network#. Последний больше не был обычным скриптом; он состоял из " +"больших, запутанных функций man:sh[1], вызываемых из [.filename]#/etc/rc# на " +"разных этапах загрузки системы. Однако по мере того, как задачи при запуске " +"становились разнообразнее и сложнее, \"квазимодульный\" подход стал ещё " +"большей обузой, чем монолитный [.filename]#/etc/rc#." + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:82 +msgid "" +"Without a clean and well-designed framework, the startup scripts had to bend " +"over backwards to satisfy the needs of rapidly developing BSD-based " +"operating systems. It became obvious at last that more steps are necessary " +"on the way to a fine-grained and extensible [.filename]#rc# system. Thus " +"BSD [.filename]#rc.d# was born. Its acknowledged fathers were Luke Mewburn " +"and the NetBSD community. Later it was imported into FreeBSD. Its name " +"refers to the location of system scripts for individual services, which is " +"in [.filename]#/etc/rc.d#. Soon we will learn about more components of the " +"[.filename]#rc.d# system and see how the individual scripts are invoked." +msgstr "" +"Без чистого и хорошо продуманного каркаса, стартовые скрипты вынуждены были " +"идти на всевозможные ухищрения, чтобы удовлетворить потребности быстро " +"развивающихся BSD-ориентированных операционных систем. В конце концов стало " +"очевидно, что необходимы дополнительные шаги на пути к детализированной и " +"расширяемой системе [.filename]#rc#. Так появилась BSD [.filename]#rc.d#. Её " +"признанными создателями стали Люк Мьюберн и сообщество NetBSD. Позже она " +"была импортирована в FreeBSD. Её название отсылает к расположению системных " +"скриптов для отдельных служб, которое находится в [.filename]#/etc/rc.d#. " +"Вскоре мы узнаем больше о компонентах системы [.filename]#rc.d# и увидим, " +"как вызываются отдельные скрипты." + +#. type: .abstract-title +#: documentation/content/en/articles/rc-scripting/_index.adoc:93 +msgid "" +"The basic ideas behind BSD [.filename]#rc.d# are _fine modularity_ and " +"__code reuse__. _Fine modularity_ means that each basic \"service\" such as " +"a system daemon or primitive startup task gets its own man:sh[1] script able " +"to start the service, stop it, reload it, check its status. A particular " +"action is chosen by the command-line argument to the script. The " +"[.filename]#/etc/rc# script still drives system startup, but now it merely " +"invokes the smaller scripts one by one with the `start` argument. It is " +"easy to perform shutdown tasks as well by running the same set of scripts " +"with the `stop` argument, which is done by [.filename]#/etc/rc.shutdown#. " +"Note how closely this follows the Unix way of having a set of small " +"specialized tools, each fulfilling its task as well as possible. _Code " *** 2591 LINES SKIPPED *** From nobody Mon Oct 20 17:03:09 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cr1vx24zYz6ClnY for ; Mon, 20 Oct 2025 17:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cr1vx1dcFz3jLC; Mon, 20 Oct 2025 17:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760979789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O+sE/Y/dmminwS6PxPRaPkB1gpLnuD1ebgUrLVxMJf4=; b=WzKbBLY7GTEWJazKWCQNeXpVwT25UInrwdA/NbVmHD5iV68F+a7LLUToliXWm8xixIitiJ 1EmjMbeuHglOE4E0Q1oNdsv5+xepX5uHpOdJ+XRD76zNtm/kFRLNQ7h1JNzUeNsH8JbTks sEzo830ov1OxJK0jKEtsOeVOFUST85WQeClAiuGMC2aPsBo7A3hJEEO7Vl9iThBNsQe1f9 KmRqrxX01r2E8FW0v8kMRpafITCdyuC1axXzFGtWA687Gst8SmcO9EyWExvGWNne1CQlkS etAz0npdtzvgbId+k5FF69hnotOi7SSb0x0rZQXrDYnuVMfrvV4ys52BgPUjPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760979789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O+sE/Y/dmminwS6PxPRaPkB1gpLnuD1ebgUrLVxMJf4=; b=WbWH4nOfTcH8GlX7cHodTvLO9hTB4O+kS4Yu+F1v1R6zPu4F+0hlmzC0xdyTB2lnSCMocn RpqHw1Fu5h1gyj3TWNEMGHNtQ23zS6wi0QbYOBIFDbepanCT3PXJ2/WN5KUjBFXumZhjEf 2aqBAr/cDkvcbrVfWHNrhCmYdAHrQeQh5rBUyHDyBBxHoH2OGk+x7g17s0UOoMLoNym5Ru 9w6033f2iK7jmrMA3bSzEoEwV+uSpj2A+uHfO6/fgUs78zNXErxfSM0K4o2dgQZetM+Q9w C4r5fG4sAZhX0DD9uHj6a8/0K+82mR1DZZIfMOKEhbZV3ig8xALiXaGC4dJAMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760979789; a=rsa-sha256; cv=none; b=O0Jy6tDwhC6kEc1ZWDez7loYWoH+qSyBuUfVWz4O/t0EJYSEYHDx5dmsE4LcACkOG2pUnh 3Z6k6fBHfkJbelcE/ORoyU3s36zGcXtiRNHkF/PWSUj/7o1ai2FthCLSDcKRuzGSe8kI5m lFcZCRjuQS6iX8AcPNrOuyQSmBe7FtyitZjrsme7712uvQvC/tzVCznEdu5MSnxBL5dBfi +oMvOcwrD4pG7Kq5LGZkBxfo7NoRAhvND9j1v0kGjV75L5uNTTWc5PV6DAE0/M8yGiF01x Qp9gpcnVbVVBtLcKvYOouCojEXpDfG+cnKlCQul8PcdlxceISbbLinbdJbnK+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cr1vx15Scz6Rf; Mon, 20 Oct 2025 17:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59KH39pC037940; Mon, 20 Oct 2025 17:03:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59KH39Ba037937; Mon, 20 Oct 2025 17:03:09 GMT (envelope-from git) Date: Mon, 20 Oct 2025 17:03:09 GMT Message-Id: <202510201703.59KH39Ba037937@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: e5b8c0143a - main - 15.0: Remove freebsd-update removal warning List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e5b8c0143a98202cdb458db2400bddf6b88bb782 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=e5b8c0143a98202cdb458db2400bddf6b88bb782 commit e5b8c0143a98202cdb458db2400bddf6b88bb782 Author: Colin Percival AuthorDate: 2025-10-20 16:55:31 +0000 Commit: Colin Percival CommitDate: 2025-10-20 16:56:37 +0000 15.0: Remove freebsd-update removal warning FreeBSD Update will indeed exist in 15.0 and upgrading to 15.0 using it should work just fine. With hat: re --- website/content/en/releases/15.0R/relnotes.adoc | 3 --- 1 file changed, 3 deletions(-) diff --git a/website/content/en/releases/15.0R/relnotes.adoc b/website/content/en/releases/15.0R/relnotes.adoc index 503e7b337d..38875de006 100644 --- a/website/content/en/releases/15.0R/relnotes.adoc +++ b/website/content/en/releases/15.0R/relnotes.adoc @@ -57,9 +57,6 @@ Clearly the release notes cannot list every single change made to FreeBSD betwee [[upgrade]] == Upgrading from Previous Releases of FreeBSD -NOTE: FreeBSD Update is probably not going to exist in {releaseCurrent}! -The text below is boilerplate from previous releases and should be replaced with instructions for using pkgbase once those are finalized. - Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the man:freebsd-update[8] utility. See the release-specific upgrade procedure, link:../installation/#upgrade-binary[FreeBSD {releaseCurrent} upgrade information], with more details in the FreeBSD handbook link:{handbook}cutting-edge/#freebsdupdate-upgrade[binary upgrade procedure]. This will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. From nobody Mon Oct 20 20:43:17 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cr6ny04jVz6D6JC for ; Mon, 20 Oct 2025 20:43:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cr6nx6dZYz3QXs; Mon, 20 Oct 2025 20:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760992997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDg5+ppAbbnnYC64K5/79y7xqjjmHCDicOWDB5yX7xI=; b=UjemmqY3gcYx4PWveyGet7UMmvBk50EZWbmjge+WQJY9fkr5S/22iU5NmshRHjSmmo/YQl UANXz+Nrrs3cfDovhF/J+UIlUspkyCof9LErqMHjMkk9BTby4uA4WsnE0YtZMxO94EBrQf 4+Y4PGuj4AhG89PPC8TQOE0LPfgmDqQmFfL56/3lve7GGAJvIptNSOn4aZj7DHEeDqU9dO y9DBpqTc97lnxVmi5JS9vSvu0F7ROev83UztEbKvQXyAmBUKih9HQKRFX06u3nCXuZ67Ry NDA7Iyx3/PceGobQqIwb+0eyYRb6EhOe0OCeU8MeY6iccAe0wf+Ut6z3FEGY4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760992997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rDg5+ppAbbnnYC64K5/79y7xqjjmHCDicOWDB5yX7xI=; b=V3BXQBxLeOcfciqnJAtnRasCO7nsJEMb3wchkO/T8Le/lXxsQzmL24ItE5I9lQ7OPjru/6 ITf0wrSfJDW29fRxLTfgPp17zlrcU8CQXtkjD51qzSmbXSoEQbhEziepx7XIJibSUiUX11 hBUxm+lQGPX6C9BosMIgbCn3U5rsVv38Ipfyb6pxlt/u6iZ94Az7Wgv/EjgSxb9mpW4Tkn UqiSQC93oK2Ph+65TRfWCr5+YkFnK49vnIknWNk8VutJDgVkLi6f21O/k2MYg5AdBbY11G EiNsHdj5l1FsTEPh8vC3WlEH4l5MHyD+1VNHpIOciSXwC2QYpXbPs9Jl1Z1myA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760992997; a=rsa-sha256; cv=none; b=At6E/XCgBdjc5jv/lYStX+Wy9qzG2xV6nuUmBusjPRC0nlYTwmThypoAbxCVJTrWkb2pHy P7vh7TtfU4OSqyvS86K9u6jEX0FrwBMJyOBx0FfE+qphXABto16TUIVTIODZIbR8vbAFHx EfZWW8Wvun2UOmNEvQIdG8LuZfcMh25LMvjRQT4x0O97Nde9aJ4u4hSTjwKbi4wWqp99OS uuKqti7rQ0aZ+pT3O540qQgiD9lvn5uO8Q9c7WcZnXTpEYBsA5moYH5/i567qQkjSPI9gj WuXTR2XZzeKWVUMUOJa7nAmHfZzxXWHeAuhAd8qFOMUC9nvjoWZmKJu/TgSxSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cr6nx68jGzD6m; Mon, 20 Oct 2025 20:43:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59KKhHUN052408; Mon, 20 Oct 2025 20:43:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59KKhHgF052405; Mon, 20 Oct 2025 20:43:17 GMT (envelope-from git) Date: Mon, 20 Oct 2025 20:43:17 GMT Message-Id: <202510202043.59KKhHgF052405@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: f67a89846a - main - 15.0: On (revised) schedule List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f67a89846a1540e747c4ddc27e73767f40d3de9b Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=f67a89846a1540e747c4ddc27e73767f40d3de9b commit f67a89846a1540e747c4ddc27e73767f40d3de9b Author: Colin Percival AuthorDate: 2025-10-20 20:42:13 +0000 Commit: Colin Percival CommitDate: 2025-10-20 20:42:13 +0000 15.0: On (revised) schedule Belatedly note that BETA2 builds happened on October 17th as planned. Reminded by: Pau Amma Sponsored by: https://www.patreon.com/cperciva --- website/content/en/releases/15.0R/schedule.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/releases/15.0R/schedule.adoc b/website/content/en/releases/15.0R/schedule.adoc index fb72ef5f84..e1f0324fd7 100644 --- a/website/content/en/releases/15.0R/schedule.adoc +++ b/website/content/en/releases/15.0R/schedule.adoc @@ -45,7 +45,7 @@ General discussions about the pending release and known issues should be sent to |BETA1 builds begin |[.line-through]#3 October 2025# + 10 October 2025 |11 October 2025 |First beta test snapshot. |BETA2 builds begin |[.line-through]#10 October 2025# + -17 October 2025 |- |Second beta test snapshot. +17 October 2025 |17 October 2025 |Second beta test snapshot. |BETA3 builds begin |[.line-through]#17 October 2025# + 24 October 2025 |- |Third beta test snapshot. |BETA4 builds begin |[.line-through]#24 October 2025# + From nobody Tue Oct 21 09:55:19 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4crSMq69LQz6FCVV for ; Tue, 21 Oct 2025 09:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4crSMq575Xz44b4; Tue, 21 Oct 2025 09:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761040519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8SMADFnKo+PoKJmTsv5jFLcCCvC4kVV+HBo5iCk9uVw=; b=cWqRujassFW0hhWPewYWf9BmY69cmjL47iu/nduBvOtftuQ9q9NeA/lmzjW6z8SfD6AaIT /XYDE/QZaU7G0C5/A2pC88BK+i8A+pNd7XeI+OzZumafBatrBXdApLsgL3cCJMCHNGvWQ1 zVevTEtzlc2mBctPSuaJPPyrSpuTIx/i38+/ybG8jMjuHqSXO1VXS0VLQ19WM2YSG/Cje9 m0FIDm3LP3vdwbPOmTUG5o7gP2FwsOzeg5Y6CFBz+IAEAbvMlNJdYzIs6XRkvSBoLIpfEC da8FT1GXXVgAUfNpClsn32VxCJ/lppoyXsVrDtBQsg/z7x3knFLFtB1sI9vsmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761040519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8SMADFnKo+PoKJmTsv5jFLcCCvC4kVV+HBo5iCk9uVw=; b=vLEQOEYGWj5e9A3Bxjs9VzD+aYSvH03Dr04OBdqrUUCr5sUs3/txqC+eEmarRxzMam0etp w+4H1xwxK/Nb7SLkp7lk7ihmCiI02ls0bdYLrNSSGuZjm3NIv8jF5ETTPrDE8+ag4jrxkD prPZHE+vYNP4lYM5cYLIgLaTq3Gy6zNPuYnmJboYPJaMVVMA0rgdFBQJTNpr0hjMzxJOLT r36DbCr3elfzcZHfNlOrougIukYeIerPtQK3UKtpKmx86HE3g7SmISZQnKCCrVV0y1UvXv h9N2k9/GNXPhCpILmyC111gkwiqo5zbYufwN1a3hEGAH6Gp/6VaDqMI1He7Xig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761040519; a=rsa-sha256; cv=none; b=xRag5f9T40d0mzxmJiYd1CmhkZ055rsiO5Y4KS+z3nTCgVDbMqTeEHp4/lqS+Aae4oCh2O mS2bWJY/BJaLv/bHDXvVxBZ7eveRHuhaGmjYamxQngsHivufGWc1rbW3D9+O/M7LerD5Gl QuGNK8aKesucbPaqF+TrNspN9CjQ3pQJgFr4j7Su7n2ENoci4smovmPG22Yb4ZfDRRVJPb klZyDNEyXFlgkLJdk+MXn+KMGR1gueGhOBoKXnujqTqngCEk4aRnP/dD+ZVolIGzdJtqiu lzfxAcKQkueu/NgrjSqmTVk7T3+lc4Zx5LGppBx2GhuG03Dhxp4BF/c+MNCbNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4crSMq4gxBztpn; Tue, 21 Oct 2025 09:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59L9tJNN043132; Tue, 21 Oct 2025 09:55:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59L9tJhk043129; Tue, 21 Oct 2025 09:55:19 GMT (envelope-from git) Date: Tue, 21 Oct 2025 09:55:19 GMT Message-Id: <202510210955.59L9tJhk043129@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Lorenzo Salvadore Subject: git: 2a37ea34ea - main - Status/2025Q3/gallant.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: salvadore X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a37ea34eaedcb05c327ba47e6f477e8b81cc459 Auto-Submitted: auto-generated The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=2a37ea34eaedcb05c327ba47e6f477e8b81cc459 commit 2a37ea34eaedcb05c327ba47e6f477e8b81cc459 Author: Jens Schweikhardt AuthorDate: 2025-10-21 09:53:24 +0000 Commit: Lorenzo Salvadore CommitDate: 2025-10-21 09:53:24 +0000 Status/2025Q3/gallant.adoc: Add report Reviewed by: Chris Moerz --- .../en/status/report-2025-07-2025-09/gallant.adoc | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/website/content/en/status/report-2025-07-2025-09/gallant.adoc b/website/content/en/status/report-2025-07-2025-09/gallant.adoc new file mode 100644 index 0000000000..4a307984f0 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/gallant.adoc @@ -0,0 +1,39 @@ +=== The Gallant Console Font got Supercharged + +Links: + +link:https://github.com/NanoBillion/gallant[Gallant Project] description] URL: link:https://github.com/NanoBillion/gallant[] + +Contact: Jens Schweikhardt + +The man:vt[4] console font "gallant" was extended in -CURRENT and 14-STABLE. +This increased the Unicode glyph count from 502 to more than 4500. +Old-timers know and love this font from watching Sun SPARCstations boot. + +Major additions: + +* Greek +* Cyrillic +* International Phonetic Association Extensions +* Extended Latin characters +* Zapf Dingbats +* Tons of arrows +* Tons of mathematical symbols +* Letterlike symbols and enclosed alphanumerics +* Pixel-perfect box drawing +* Currency symbols +* More punctuation +* Just enough Katakana to say コンニチハ +* Powerline glyphs in the Private Use Area at U+e0a0 + +Your help is needed to add more languages. +You can contribute via the link:https://github.com/NanoBillion/gallant[Gallant Project]. + +But wait, there is more! +You do not bother with console fonts and use X11 exclusively? +Get that gallant feeling with the new port package:x11-fonts/gallant[] and run + + xterm -fa '' -fn '*-gallant-*' + +To inspect the available glyphs under X11, run + + xfd -fn '*-gallant-*' From nobody Tue Oct 21 10:56:36 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4crTkX2Q0qz6FHBp for ; Tue, 21 Oct 2025 10:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4crTkX1dZdz47px; Tue, 21 Oct 2025 10:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761044196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uihm3LtVHTV+cBU6tnzl6G5n2DNl3ERJDrwZPCPKilE=; b=rFnrHiLgLQPesKgB0S4mwT5fv0NsWjJFJiD/TbUFAMqH2Sv0HA8MI5EnV/L3pnjV6nTpyu zL18srrX8sdx4P2UAxVIn8LeQ4LCR409si3U6zp4OvrR3xqxm3RBOHbVggheT3ostNH5F+ 6Pz27nRpGoiELOMTTFfqijK5zLMlXsz7r5hhABimDBs1gFMUgIgriwFW6jPfwAyoCVDRqk Sf77l+nXcL13lvxy81gMYE817oKUAQ4q9/AQmcq4gtiKRTMZ1Cc6LTAJvDdq6M6Y9ajstY 3gldp8Dl2/V7IXK1ajFeyO+jEFvCcxIgTVnRORdlE32SvLAS3CH/89QJNXUB2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761044196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uihm3LtVHTV+cBU6tnzl6G5n2DNl3ERJDrwZPCPKilE=; b=G5qmPCR1P2xAsgaJ0r3mGW2MZ01b0xjCqnMzJDQfyqnwsemvUvFmwkezzKI6C9x1WNAcsK fApKbGzFt9WWsQtuMd7UmfTx4TsRClzns4wvrTV8UZa/Di00Nhd7lwleW9QNa2DSv4zD8C e7Tyr/I/4dVo2Y/PsWi0Vrln0R6gx4gOlT1B1PCKmetD9V0gnyKbJKl9k8pr2+QV5CWOSJ tIDWZ7LHZQOyeBoo6qU45BY4JlQb5yJplMEAcsEbRtv2dp3bROzINFR79ggmCkgSIre/Pk FZaqJajSUmSBwWLsA96VpSAukI5mQJkst4uzhqn/u2MF2VgUbWK0CCIDgvFyOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761044196; a=rsa-sha256; cv=none; b=Dg8oJ/XY2DXVkCuNKAJzZesgkVkUBErOX8ffSjj2o+m00NOXhM+OWH9mfRtx081KRa378a PpHcKgAlHNP9rgRkDUUbrPcirgzPNiC8Yc6biPD4KeiBpxxqJYkKBgFQ5zsaMoT9MV5f+b cYKvTs5FXB9NaQ8bAq6vH8LGMNxB90dycMO5r/PED6YLxtYg0mrPaUVxlmqBo4QDExetTS 7HKBc3qVdfQ6/wmmmoe07xdlAhQF6OSUFkkMRbZM200l22iL09nRcxv1NHD3kfckIpPhK9 mvSNQgUa8SUaIll4jOplXvRD2f9qmsAEDgtvzYeHswcJTM1GAILZlDl82cJouQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4crTkX12KCzwm1; Tue, 21 Oct 2025 10:56:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59LAuaZT056065; Tue, 21 Oct 2025 10:56:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59LAuaCF056062; Tue, 21 Oct 2025 10:56:36 GMT (envelope-from git) Date: Tue, 21 Oct 2025 10:56:36 GMT Message-Id: <202510211056.59LAuaCF056062@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Ruey-Cherng Yu Subject: git: a7f577e00d - main - traditional Chinese Translation of the latest news items (2025-10-18) List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rcyu X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7f577e00d71159730e495700e5ceb151cf0c9a4 Auto-Submitted: auto-generated The branch main has been updated by rcyu: URL: https://cgit.FreeBSD.org/doc/commit/?id=a7f577e00d71159730e495700e5ceb151cf0c9a4 commit a7f577e00d71159730e495700e5ceb151cf0c9a4 Author: Ruey-Cherng Yu AuthorDate: 2025-10-21 10:56:16 +0000 Commit: Ruey-Cherng Yu CommitDate: 2025-10-21 10:56:16 +0000 traditional Chinese Translation of the latest news items (2025-10-18) --- website/data/zh-tw/news/news.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/data/zh-tw/news/news.toml b/website/data/zh-tw/news/news.toml index b7aaf4789c..fe1034e65a 100644 --- a/website/data/zh-tw/news/news.toml +++ b/website/data/zh-tw/news/news.toml @@ -1,5 +1,10 @@ # Sort news by year, month and day # $FreeBSD$ +[[news]] +date = "2025-10-18" +title = "FreeBSD 15.0-BETA2 發布了" +description = "FreeBSD 15.0 的第二個 BETA 版本現已發布。用於 amd64、armv7、powerpc64、powerpc64le和 riscv64 的 ISO 映像檔案已經 發布,可以在多數的 FreeBSD 鏡像站取得。" + [[news]] date = "2025-10-12" title = "FreeBSD 15.0-BETA1 發布了" From nobody Tue Oct 21 18:22:38 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4crgdB3r7Pz6Ck25 for ; Tue, 21 Oct 2025 18:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4crgdB34Jwz3h8B; Tue, 21 Oct 2025 18:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761070958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pze4EXNUibrhU9vXImZhA0eUQqgyu1zS7vFJqawEw6g=; b=v0mnn1i2+vEKFACU6AExMcCGFGZh0qzsidfu9n6O6DNTNsYKNXFrHCyFqWcPDDCvc775Gl MKaNi97XQ9bSdTC7O9kL9PevYFgjLJBIdFZ86Vvgtv1r6P6QgllhpA76nWGHYBlYrN0PxB 4RrTw5rhzu3fAlOhc/CeexUuaS09SH5rFtt5grmyY+xfYmbCfkpghVKgW8XtYquzCp13TU j0OFfHU8xDlMHS6XiGwxlGudNBGtn9445LkkgQoAJe4KW2B1TI1UqlAAN7NSawtqkNjyXI rbXOH4/WnYYVgDyTaeR9GFeTtkqyB/9vstUzwEg8k/mALhGfkYciG6B25/TIsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761070958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pze4EXNUibrhU9vXImZhA0eUQqgyu1zS7vFJqawEw6g=; b=Nw3yALjr59Fg/xsQcXV/0ArdCt/S9V3+jsp/ZG8x4h1h/DhUF8WCzZh5IgQ9uE7Uc5Jf9i dhvdRgcWqtn65Q4L1Zv+fw9ctDQjr0XLOxC8052VxePmW4kWybaLlz7njNjW0ip+E5UCeM 3ASKYX1uPDKwPRxetUKi+GpnlgmAurPomqqmz1RHGYgXJTIgRv/2yK3fvfEfaeweSSvQRl qjZSuTkj1LXZxWKfG4ESmHqR9QZw9FO/JkxU/2ZfIGbKCXMZMTi96eG51U27jXczcT1ZE5 LBtixq+/kQW2kotwjyxkRYQPYDZCV12l8MDA54AfHylOBmAJRooEFOr4ISPCbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761070958; a=rsa-sha256; cv=none; b=B0XXEqkUibB+GbgLs6tmVMs7qsMhnKfkwpJmB9JtTxwZl0vXIhUy8ozpbolvp1X2butGMP qPWS2RRTbpbinABGK/tkTD6FnAIi9AzFth0PkbXBHo64+U1xL5oJdr3rWWiZLa8fTeSdEu FfQOSCGb1gmrDiYOAjuM3brNE3oYVPqKicTncQIqZtlhscBRP/ORbYZ7+SrgLrZ9RUkMuz ooavh2iyEbz/vBd3xRpi0aBdTRfRM+bg3ZscBf4PfQ56QNpJb0qfjJH0MvXekNOCWOht3W cNFItF/Irtdvb4w2+trB/JUI1Nq/fhXBEdnO1jUQQJzsGTUfMTcC9pDhZOOKXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4crgdB2W61z18fc; Tue, 21 Oct 2025 18:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59LIMcmQ002794; Tue, 21 Oct 2025 18:22:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59LIMcRW002791; Tue, 21 Oct 2025 18:22:38 GMT (envelope-from git) Date: Tue, 21 Oct 2025 18:22:38 GMT Message-Id: <202510211822.59LIMcRW002791@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Andrey Zakhvatov Subject: git: 35944c7579 - main - Update website/content/ru/platforms/_index.adoc to the latest revision. List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andy X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35944c7579742bb096f70b35d6c214cb23f78fd4 Auto-Submitted: auto-generated The branch main has been updated by andy: URL: https://cgit.FreeBSD.org/doc/commit/?id=35944c7579742bb096f70b35d6c214cb23f78fd4 commit 35944c7579742bb096f70b35d6c214cb23f78fd4 Author: Andrey Zakhvatov AuthorDate: 2025-10-21 18:18:36 +0000 Commit: Andrey Zakhvatov CommitDate: 2025-10-21 18:18:36 +0000 Update website/content/ru/platforms/_index.adoc to the latest revision. Reviewed by: maxim (mentor) Differential Revision: https://reviews.freebsd.org/D53228 --- website/content/ru/platforms/_index.adoc | 83 +++++++++++++++++++------------- 1 file changed, 50 insertions(+), 33 deletions(-) diff --git a/website/content/ru/platforms/_index.adoc b/website/content/ru/platforms/_index.adoc index 0e4ba4056c..26c016ef97 100644 --- a/website/content/ru/platforms/_index.adoc +++ b/website/content/ru/platforms/_index.adoc @@ -1,39 +1,56 @@ --- -title: "Поддерживаемые платформы" +title: "Платформы" sidenav: developers --- include::shared/ru/urls.adoc[] -= Поддерживаемые платформы - -== Введение - -Здесь вы можете найти список платформ, на которые портирована FreeBSD, или ведутся работы по портированию. - -== Содержание - -* link:amd64/[Проект FreeBSD/amd64] -* link:arm/[Проект FreeBSD/ARM] -* link:i386/[Проект FreeBSD/i386] -* link:ia64/[Проект FreeBSD/ia64] -* link:mips/[Проект FreeBSD/MIPS] -* link:pc98/[Проект FreeBSD/pc98] -* link:ppc/[Проект FreeBSD/ppc] -* link:sparc/[Проект FreeBSD/sparc64] -* link:xbox/[Проект FreeBSD/xbox] - -== Комментарии и контакты - -Если у вас есть замечания, связанные с портом, или вы хотите связаться с разработчиками, пошлите письмо в соответствующий список рассылки. Доступны следующие списки: - -* Для порта FreeBSD/amd64: freebsd-amd64@FreeBSD.org -* Для порта FreeBSD/ARM: freebsd-arm@FreeBSD.org -* Для порта FreeBSD/i386: freebsd-current@FreeBSD.org -* Для порта FreeBSD/ia64: freebsd-ia64@FreeBSD.org -* Для порта FreeBSD/MIPS: freebsd-mips@FreeBSD.org -* Для порта FreeBSD/pc98: re-pc98@FreeBSD.org -* Для порта FreeBSD/ppc: freebsd-ppc@FreeBSD.org -* Для порта FreeBSD/sparc64: freebsd-sparc@FreeBSD.org -* Для порта FreeBSD/xbox: freebsd-current@FreeBSD.org -* Для общих вопросов, связанных с архитектурой, freebsd-arch@FreeBSD.org +// +// The FreeBSD Russian Documentation Project +// +// Original EN revision (20.11.2023): 96d6c43f19c20c0e3322e38ffbef4a134aa9df08 +// + += Платформы + +== Поддерживаемые платформы + +Вот список платформ, которые поддерживает FreeBSD. + +[.tblbasic] +[cols=",,,,",options="header",] +|=== +|Название платформы |TARGET_ARCH |link:{committers-guide}#archs[Уровень поддержки] в 13.x |link:{committers-guide}#archs[Уровень поддержки] в 14.x |link:{committers-guide}#archs[Уровень поддержки] в 15.x (прогнозный) +|64-разрядная x86 |link:amd64[amd64] |Уровень 1 |Уровень 1 |Уровень 1 +|32-разрядная x86 |link:i386[i386] |Уровень 2 |Уровень 2 |Не поддерживается +|64-разрядная ARMv8 |link:arm[aarch64] |Уровень 1 |Уровень 1 |Уровень 1 +|32-разрядная ARMv6 |link:arm[armv6] |Уровень 2 |Уровень 3 |Не поддерживается +|32-разрядная ARMv7 |link:arm[armv7] |Уровень 2 |Уровень 2 |Уровень 2 +|32-разрядная MIPS без математического модуля |link:mips[mips, mipsel] |Уровень 2 |Не поддерживается |Не поддерживается +|32-разрядная MIPS с математическим модулем |link:mips[mipshf, mipselhf] |Уровень 2 |Не поддерживается |Не поддерживается +|32-разрядная MIPS n32 |link:mips[mipsn32] |Уровень 2 |Не поддерживается |Не поддерживается +|64-разрядная MIPS без математического модуля |link:mips[mips64, mips64el] |Уровень 2 |Не поддерживается |Не поддерживается +|64-разрядная MIPS с математическим модулем |link:mips[mips64hf, mips64elhf] |Уровень 2 |Не поддерживается |Не поддерживается +|32-разрядная PowerPC |link:ppc[powerpc] |Уровень 2 |Уровень 2 |Не поддерживается +|32-разрядная PowerPC с SPE |link:ppc[powerpcspe] |Уровень 2 |Уровень 2 |Не поддерживается +|64-разрядная PowerPC с прямым порядком байтов |link:ppc[powerpc64] |Уровень 2 |Уровень 2 |Уровень 2 +|64-разрядная PowerPC с обратным порядком байтов |link:ppc[powerpc64le] |Уровень 2 |Уровень 2 |Уровень 2 +|64-разрядная RISC-V |https://wiki.freebsd.org/riscv[riscv64] |Уровень 2 |Уровень 2 |Уровень 2 +|64-разрядная RISC-V без математического модуля |https://wiki.freebsd.org/riscv[riscv64sf] |Уровень 2 |Не поддерживается |Не поддерживается +|=== + +== Неподдерживаемые платформы + +Следующие платформы поддерживались более старыми версиями FreeBSD. + +[.tblbasic] +[cols=",,",options="header",] +|=== +|Название платформы |TARGET_ARCH |Последний поддерживающий релиз +|Alpha |alpha |link:../releases/#rel6-4[6.4] +|32-разрядная ARM v4/v5 с обратным порядком байтов|arm |link:../releases/#rel12-4[12.4] +|32-разрядная ARM с прямым порядком байтов |armeb |link:../releases/#rel11-4[11.4] +|Intel IA-64 |ia64 |link:../releases/#rel10-4[10.4] +|PC98 |pc98 |link:../releases/#rel11-4[11.4] +|64-разрядная SPARCv9 |sparc64 |link:../releases/#rel12-4[12.4] +|=== From nobody Tue Oct 21 23:14:11 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4crp5c0Z9gz6DCKK for ; Tue, 21 Oct 2025 23:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4crp5c04V1z3NXV; Tue, 21 Oct 2025 23:14:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761088452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au00tWrqaSCP0btFrX/S4vPnt7y93zHEoTlrHOeRank=; b=XDOEDtet0PqBtePxfwki+L6Kf0BPspTOCYHwatdh67ilmVEDxSjLOt/pEdq0Nd1YXQB9OU xouF13j2dlxerETO0gQIdQZua/fCrmnKN2anwrSjfx7FNVWYcAp5Lz8IZAPAZ0t3LWxSQA fhbI90g5bHYQGmVRlUGF5zSg5/iUgntBK0v0MYo/DBInHTuxqwGUOsTkkheSxK4CwgW4oZ zyt4285TeaK2zMX+/ZUriv/MwEwpyMz7Nqd6n47mEd2Ws5Ks17GNU0iUbMoB4qJzV63K8f 26vkBO5dHOCNXsZiuybYgIgA6mPKi+NDJ102BfCrRZdBeMAfdGI58gBUKkmzUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761088452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au00tWrqaSCP0btFrX/S4vPnt7y93zHEoTlrHOeRank=; b=ky63lrk6QaYJJOKvb9WhndF3e+8+BcFY6vu4u0AIGoZklNJjX1vT/nHe4SWuathfDyIpl8 UxuWZzZf+pnqwTslYBiZUBb2EkQjGGSkw7sx7hTuiNKh+YzFwuZswBxruYRA5yl92Qh3xC 9MtvbELpJHQeGlAM0q+HSZruN+WOAViBXYCwnz8Q/gRkSerDjLGt0HE5Uh2ZeyFW6hSOr8 EBQc1QeereH5GLfRROwuYnwpoJcuMrlhiCQOjMKb2473NrH9P657TNV6cX0pC7EPSu/GFd g6sGJPIfSCIWDR0y4onEZ3ukUROsex34MzGKX7KICbrC7x0h+Rf4AA272q+ZXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761088452; a=rsa-sha256; cv=none; b=wHbepxCX8GmbdBMQ2Umn2Gz10Mq3A7kRBlqg7sxtSDo1pFTy5M9p22WhJxcsZxWYeGSjAt 36cTJtIQs+qVVmGvRm5Bynjwz+CjGBsulY0d0T2oGjcEvtXGMYvL4EuQ1mfHIQa3sWf+Fp 5IM1m1BjEVzIY7r4zsExNC4eP7EzxOsm1metCI+yaQ4mYN06WtkdYOr4jd12ObTH2fWDGK cl3MZVSO3g9L84iNQydMx8rsSISj6p81LeErOIRrvUVVGTrPzgAKf4CbqDvhwUY/bWtwHC AGjoDs2EtLjnt7/02tvUymvcI+MUlf6xdU+H8DIpwT+VuDfYTntbXm/ifYy92A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4crp5b6jmqz1J3g; Tue, 21 Oct 2025 23:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59LNEBl2050915; Tue, 21 Oct 2025 23:14:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59LNEB6W050912; Tue, 21 Oct 2025 23:14:11 GMT (envelope-from git) Date: Tue, 21 Oct 2025 23:14:11 GMT Message-Id: <202510212314.59LNEB6W050912@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Pierre Pronchery Subject: git: f5ddcd7994 - main - Status/2025Q3/alpha-omega-beach-cleaning.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: khorben X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5ddcd79949f0a0a29ac783ae6ac974c6de27bc8 Auto-Submitted: auto-generated The branch main has been updated by khorben: URL: https://cgit.FreeBSD.org/doc/commit/?id=f5ddcd79949f0a0a29ac783ae6ac974c6de27bc8 commit f5ddcd79949f0a0a29ac783ae6ac974c6de27bc8 Author: Pierre Pronchery AuthorDate: 2025-10-21 23:13:59 +0000 Commit: Pierre Pronchery CommitDate: 2025-10-21 23:13:59 +0000 Status/2025Q3/alpha-omega-beach-cleaning.adoc: Add report Reviewed by: salvadore Approved by: salvadore Pull Request: https://github.com/freebsd/freebsd-doc/pull/561 Sponsored by: The FreeBSD Foundation --- .../alpha-omega-beach-cleaning.adoc | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/website/content/en/status/report-2025-07-2025-09/alpha-omega-beach-cleaning.adoc b/website/content/en/status/report-2025-07-2025-09/alpha-omega-beach-cleaning.adoc new file mode 100644 index 0000000000..470eac52f1 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/alpha-omega-beach-cleaning.adoc @@ -0,0 +1,37 @@ +=== Alpha-Omega Beach Cleaning project + +Links: + +link:https://alpha-omega.dev[Alpha-Omega - Linux Foundation Project] URL: link:https://alpha-omega.dev[] + +link:https://github.com/ossf/alpha-omega[Alpha-Omega on GitHub] URL: link:https://github.com/ossf/alpha-omega[] + +link:https://freebsdfoundation.org[FreeBSD Foundation] URL: link:https://freebsdfoundation.org[] + +link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning[Project repository from the FreeBSD Foundation] URL: link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning[] + +Contact: Pierre Pronchery + +Alpha-Omega's mission is to catalyze sustainable security improvements to critical open source projects and ecosystems. +After a successful project with the FreeBSD Foundation in 2024 -- auditing the bhyve hypervisor and the Capsicum sandboxing framework -- Alpha-Omega has selected FreeBSD again, for the Alpha Omega Beach Cleaning project this time. +This new grant consists in generally improving the security and maintenance of third-party software within the FreeBSD base system. +The FreeBSD Foundation received the grant and is managing and executing the project. + +The list of tasks has been determined as follows: + +* Inventory of dependencies +* Security risk assessments +* Propose list of priorities +* Plan the respective actions +* Formalize code owners +* Integrate review methodologies +* Plan execution & coordination +* Final report + +The first deliverables have been issued on the dedicated GitHub repository: + +* Machine-readable link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/main/database.yml[database] +* link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/main/dependencies.md[List of dependencies] +* link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/main/security.md[Security risk assessments] + +Help is welcome to complete the information collected, and to improve on any other aspect of the project! + +Finally, monthly reporting is submitted and available link:https://github.com/ossf/alpha-omega/tree/main/alpha/engagements/2025/FreeBSD[on GitHub]. + +Sponsor: Alpha-Omega, The FreeBSD Foundation From nobody Wed Oct 22 09:37:32 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cs3wr6Bbmz6F0hY for ; Wed, 22 Oct 2025 09:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cs3wr5fnDz3TQb; Wed, 22 Oct 2025 09:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761125852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOfWtCNWjCLX0vkQIWfDojW6BHPWWAOlCA6FY1gYhHY=; b=YFaMbaVdOCz34ybBAe0glLbrQf9mE/Kx20FgmKwo7H7Cff200Ukj9MH/8ASmnO7vEwfO3Z +XGYqzh04jjGdFivKBDkf1d+rZZLN8nbITHNVbIA7AEkvdjKocLJX01JZJ8KalfMV0hDFc JUOOIRlSoo04+A0IyXwbIXXHDie0wHIcv2JCx+AD0tUJ5u4S9GJJM41ClhMUYUUr2na5zG Q4NOECQeb5fFI7WrFl3YA9+7IMA4xWAw0GfaeYlggE01uBvsmSPD8L7LrUTnVEJ/UHqb9J ltFODMc4qxginXlEM+NaHyxwiR2zgnzOxxlzuGSlKTqESc01K2uHjEtQHu8JmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761125852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOfWtCNWjCLX0vkQIWfDojW6BHPWWAOlCA6FY1gYhHY=; b=FVcVnmor2UaRTtIrTjcwemy7kOYGI/OYjXh8REi/8zi2nfmJDQwiaIY/SQugHKYeZS/pFW UXxLtL+KjSbkAPNfh3EbJndSTjQasIYm9gTL+LOfoV0Sa7PndBXhAVSFlGs8HtXnifJZZ4 LjSRyfdI8IukRgoiN4Up0TUVGWm+wRJXIcyAWvRqRs5fG+CkeyNx4WyKiE4gL+KVFyiE06 /VXcVkzLD97ZKkSXnVTV682NcOe3RI6PUQBEs/I4MetoeZwQhHqK6JKIcJxk51+PDrlMTy 40B546UrCpa7898SbdxY20apFGpUAbMRr5lwyIn8r+7ujiOdgLjX0AGfxPzZgA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761125852; a=rsa-sha256; cv=none; b=JzRKKpe3jqgZin6fWniGrsPLHEr4aSEKsolXAUlizAMVGE77zv+TV/jJ+yZMWVCJ237cwx V2yQ0amMTTX6PNXcLR/9ntZjQJmlR0M1OjQVSc42NOuFITcV/COGOGdNgCqqz8bSZBd3vJ AsVIM8mT5h/VSJ9I8IY58omgqAIHaEna4Msgs0mxLRxHvpWIN2KGCLqQ7/iB75s9UxRLBF /jwF+dGVEew91yqPZr3noDUtH01HDrgM1qu1TUBcbUKuVgl3iVrPIoGjbD5Woc65dFjKmD 8JdOxtAMAaiIeOCY1i1DIxviYI3mhvCQUgrnOoawxidaxE8Yf/672EuiREx4Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cs3wr4byhz7vc; Wed, 22 Oct 2025 09:37:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59M9bWe5021506; Wed, 22 Oct 2025 09:37:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59M9bWWI021503; Wed, 22 Oct 2025 09:37:32 GMT (envelope-from git) Date: Wed, 22 Oct 2025 09:37:32 GMT Message-Id: <202510220937.59M9bWWI021503@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Lorenzo Salvadore Subject: git: 0d070fdc84 - main - Status/2025Q3/framework.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: salvadore X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d070fdc84fae497fe3c298eabe910dc16f7e7b5 Auto-Submitted: auto-generated The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=0d070fdc84fae497fe3c298eabe910dc16f7e7b5 commit 0d070fdc84fae497fe3c298eabe910dc16f7e7b5 Author: Li-Wen Hsu AuthorDate: 2025-10-15 20:43:40 +0000 Commit: Lorenzo Salvadore CommitDate: 2025-10-22 09:36:36 +0000 Status/2025Q3/framework.adoc: Add report Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-doc/pull/562 --- .../status/report-2025-07-2025-09/framework.adoc | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/website/content/en/status/report-2025-07-2025-09/framework.adoc b/website/content/en/status/report-2025-07-2025-09/framework.adoc new file mode 100644 index 0000000000..0d3234cf4a --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/framework.adoc @@ -0,0 +1,27 @@ +=== Framework Laptop support + +Links: + +link:https://wiki.freebsd.org/Laptops/Framework_Laptop/[Framework Laptop page on FreeBSD Wiki] URL: https://wiki.freebsd.org/Laptops/Framework_Laptop/[] + +link:https://github.com/FrameworkComputer/freebsd-on-framework[Guide on installing and using FreeBSD on Framework systems] URL: https://github.com/FrameworkComputer/freebsd-on-framework[] + +link:https://bugs.freebsd.org/262152[Tracking ticket: Framework Laptop: Feature support, bugs and improvements] URL: https://bugs.freebsd.org/262152[] + +Contact: Daniel Schaefer + +Contact: Li-Wen Hsu + +Contact: ShengYi Hong + +Framework Computer Inc. is very supportive of the FreeBSD project in many ways, including providing engineering samples to the Foundation for testing and working on compatibility. + +The Foundation continues to work on improving overall laptop support, and Framework laptops are one of the link:https://github.com/FreeBSDFoundation/proj-laptop/blob/main/supported/laptops.md[target platforms] for the link:https://github.com/FreeBSDFoundation/proj-laptop/[Laptop Support and Usability Project]. + +In the 2nd and 3rd quarter of 2025, there were two hackathons held in Framework's Taipei office to test FreeBSD on the products newly released and in development. + +In April, we continued testing Framework Laptop 12 and Framework Desktop for the support of the in-development 15.0, including the ethernet support, serial console access, etc. + +In September, we worked on testing Framework Laptop 16 AMD Ryzen AI 300 Series, including the NVIDIA Graphics Module. +ShengYi link:https://cgit.freebsd.org/src/commit/?id=7f81b2519aebcf90d7e027122ca99b628ca81ed9[fixed the sound support] for this model. + +Daniel has fixed fwupd on FreeBSD (link:https://github.com/fwupd/fwupd/pull/9220[#9220], link:https://github.com/fwupd/fwupd/pull/9221[#9221], link:https://github.com/fwupd/fwupd/pull/9223[#9223]) and link:https://github.com/fwupd/fwupd/pull/9245[revived the FreeBSD CI]. +This work is included in the link:https://github.com/fwupd/fwupd/releases/tag/2.0.16[fwupd 2.0.16] release. + +Sponsor: The FreeBSD Foundation for Li-Wen and ShengYi's work + +Sponsor: Framework Computer Inc for Daniel's work, hardware and space support From nobody Wed Oct 22 16:48:54 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4csFVZ3lcgz6CrHc for ; Wed, 22 Oct 2025 16:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4csFVZ3Rlyz3YlF; Wed, 22 Oct 2025 16:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761151734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7kn5HQqM37oWL+K4+vn56pgOq2UBVphjdnqP3U2moVM=; b=eve0ANeEt59gO5CqGJYnrxOON30GzZqxQr2koyhsWnEgd2/mUVX4+VeLXBYu3mDMhrbxNZ 960kOxzDcvvTOhNPXUgIOM8FZuORkOXBjmH/Di53AJtsNOuTa1dEakm4qQx9kR9L7+TsZs iEacrxRH14deyiPQB5rmNE+xY2J0kt79VzXWaFCgEtXklAK2fDrOlyG0lvJZIme9YMG2KW eA6xe6edlyYexYey3X+o0WMABTlMdLJTM612PItCivQklmOcrnYCfuuovU8jW97LnsWgz2 XllB2oNytD9bX0l22sTbBno57AI1lHEMvqV3PAoGE1hWi5oGaqCPT7UQAu/ZgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761151734; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7kn5HQqM37oWL+K4+vn56pgOq2UBVphjdnqP3U2moVM=; b=R0pEydnhhAr6DKDe8SmBtBuyVcV97UrOM5UoHIp5h6qyoM21oHwMjhjUWoDdex+QJcetp0 qqJliy2NIU3ot4OrvbZyhFnYkk0ZI+qZemdeXVGJcw9wCADM/pQSFFDfa409fNAn/GXRXx hg5hFFLl1wyMMfMMABua+IoThQ6BQY2JT6RauM3itt9jeSEtfR/UfeE7IkKE8TMH4U3RAW Ler1sakT2uRz2T+Rm9dNzRvJL/QqPeVpnvnSsi3jMk0vfjETM2rOtzXBQvgxX9+MEHOCqd oujQdQ3KcFrgiF1pwSq6k/MQKByn0hxRMycYqNsrxFMVd6yUJ2du6uzRk5EMHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761151734; a=rsa-sha256; cv=none; b=OyMXmrdhyKaNPqpOK4xzvDS6s86itiIIeERLLI1L3GQJOT8H+tnbjroUEzOUWquS321JfH LE5dcMHQNEyXmro3s0APDETb8uUrjzq0D3ZwjQCwFml6qQ9SVulEl60o3F4c3biM4p2E7c TMqfGKTphbdhc6l+SD893Iuj58zma/QZfRaoi041OTcbr/ZFsziVT5G2xyKT6HeiJmzsnC 1ltAogWav5/Uu34XStRE3AdEqTShLz7Qi3WMsd7y0ptEGKdVFAoJGIfGLt5IHZjFqvbM7c E1Ase1FX36yxoqthPzE/OaRwItakVsXk8bUlvEXdyu8RvBiSf8ioFMrOFWl52A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4csFVZ2kxTzcnr; Wed, 22 Oct 2025 16:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59MGmskI035075; Wed, 22 Oct 2025 16:48:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59MGmsvh035072; Wed, 22 Oct 2025 16:48:54 GMT (envelope-from git) Date: Wed, 22 Oct 2025 16:48:54 GMT Message-Id: <202510221648.59MGmsvh035072@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Gordon Tetlow Subject: git: 1cbeeecca1 - main - Add SA-25:09. List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cbeeecca1ddae85922fd004a0084284b98ce66e Auto-Submitted: auto-generated The branch main has been updated by gordon: URL: https://cgit.FreeBSD.org/doc/commit/?id=1cbeeecca1ddae85922fd004a0084284b98ce66e commit 1cbeeecca1ddae85922fd004a0084284b98ce66e Author: Gordon Tetlow AuthorDate: 2025-10-22 16:48:30 +0000 Commit: Gordon Tetlow CommitDate: 2025-10-22 16:48:30 +0000 Add SA-25:09. Approved by: so --- website/data/security/advisories.toml | 4 + .../advisories/FreeBSD-SA-25:09.netinet.asc | 162 ++++++++++++++ .../security/patches/SA-25:09/netinet-13.patch | 244 +++++++++++++++++++++ .../security/patches/SA-25:09/netinet-13.patch.asc | 16 ++ .../security/patches/SA-25:09/netinet-14.patch | 198 +++++++++++++++++ .../security/patches/SA-25:09/netinet-14.patch.asc | 16 ++ .../security/patches/SA-25:09/netinet-15.patch | 201 +++++++++++++++++ .../security/patches/SA-25:09/netinet-15.patch.asc | 16 ++ 8 files changed, 857 insertions(+) diff --git a/website/data/security/advisories.toml b/website/data/security/advisories.toml index dfcfa583b1..ad0f58dfe3 100644 --- a/website/data/security/advisories.toml +++ b/website/data/security/advisories.toml @@ -1,6 +1,10 @@ # Sort advisories by year, month and day # $FreeBSD$ +[[advisories]] +name = "FreeBSD-SA-25:09.netinet" +date = "2025-10-22" + [[advisories]] name = "FreeBSD-SA-25:08.openssl" date = "2025-09-30" diff --git a/website/static/security/advisories/FreeBSD-SA-25:09.netinet.asc b/website/static/security/advisories/FreeBSD-SA-25:09.netinet.asc new file mode 100644 index 0000000000..49fe1c653f --- /dev/null +++ b/website/static/security/advisories/FreeBSD-SA-25:09.netinet.asc @@ -0,0 +1,162 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-SA-25:09.netinet Security Advisory + The FreeBSD Project + +Topic: SO_REUSEPORT_LB breaks connect(2) for UDP sockets + +Category: core +Module: netinet +Announced: 2025-10-22 +Credits: MSc. student Omer Ben Simhon and Prof. Amit Klein, + both from the Hebrew University School of Computer + Science and Engineering +Affects: All supported versions of FreeBSD. +Corrected: 2025-10-22 15:48:25 UTC (stable/15, 15.0-STABLE) + 2025-10-22 15:50:30 UTC (releng/15.0, 15.0-BETA2-p1) + 2025-10-22 15:48:51 UTC (stable/14, 14.3-STABLE) + 2025-10-22 15:51:57 UTC (releng/14.3, 14.3-RELEASE-p5) + 2025-10-22 15:49:32 UTC (stable/13, 13.4-STABLE) + 2025-10-22 15:53:35 UTC (releng/13.5, 13.5-RELEASE-p6) +CVE Name: CVE-2025-24934 + +For general information regarding FreeBSD Security Advisories, +including descriptions of the fields above, security branches, and the +following sections, please visit . + +I. Background + +SO_REUSEPORT_LB is a socket option, set by setsockopt(2), which allows multiple +TCP or UDP sockets to bind to the same socket address, creating a +load-balancing group. Incoming packets and connections are distributed evenly +among sockets in a group. This helps network services avoid scalability +bottlenecks caused by having a single TCP listening socket. In particular, it +is expected that sockets belonging to a load-balancing group will accept +packets from any source address. + +II. Problem Description + +Connected sockets are not intended to belong to load-balancing groups. +However, the kernel failed to check the connection state of sockets when adding +them to load-balancing groups. Furthermore, when looking up the destination +socket for an incoming packet, the kernel will match a socket belonging to a +load-balancing group even if it is connected. + +Connected sockets are only supposed to receive packets originating from the +connected host. The above behavior violates this contract. + +III. Impact + +Software which sets SO_REUSEPORT_LB on a socket and then connects it to a host +will not observe any problems. However, due to its membership in a +load-balancing group, that socket will receive packets originating from any +host. This breaks the contract of the connect(2) and implied connect via +sendto(2), and may leave the application vulnerable to spoofing attacks. + +IV. Workaround + +No workaround is available. Software which does not use SO_REUSEPORT_LB is +not affected. + +V. Solution + +Upgrade your vulnerable system to a supported FreeBSD stable or +release / security branch (releng) dated after the correction date. + +Perform one of the following: + +1) To update your vulnerable system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms, +or the i386 platform on FreeBSD 13, can be updated via the freebsd-update(8) +utility: + +# freebsd-update fetch +# freebsd-update install +# shutdown -r +10min "Rebooting for a security update" + +2) To update your vulnerable system via a source code patch: + +The following patches have been verified to apply to the applicable +FreeBSD release branches. + +a) Download the relevant patch from the location below, and verify the +detached PGP signature using your PGP utility. + +[FreeBSD 15.x] +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-15.patch +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-15.patch.asc +# gpg --verify netinet-15.patch.asc + +[FreeBSD 14.x] +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-14.patch +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-14.patch.asc +# gpg --verify netinet-14.patch.asc + +[FreeBSD 13.x] +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-13.patch +# fetch https://security.FreeBSD.org/patches/SA-25:09/netinet-13.patch.asc +# gpg --verify netinet-13.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile your kernel as described in + and reboot the +system. + +VI. Correction details + +This issue is corrected as of the corresponding Git commit hash in the +following stable and release branches: + +Branch/path Hash Revision +- ------------------------------------------------------------------------- +stable/15/ ef159100ec2b stable/15-n280782 +releng/15.0/ 98c539667881 releng/15.0-n280723 +stable/14/ e276759b3687 stable/14-n272700 +releng/14.3/ 058bcb57cd4b releng/14.3-n271448 +stable/13/ df888c8f41f6 stable/13-n259508 +releng/13.5/ 90e14aa082d3 releng/13.5-n259180 +- ------------------------------------------------------------------------- + +Run the following command to see which files were modified by a +particular commit: + +# git show --stat + +Or visit the following URL, replacing NNNNNN with the hash: + + + +To determine the commit count in a working tree (for comparison against +nNNNNNN in the table above), run: + +# git rev-list --count --first-parent HEAD + +VII. References + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmj5CrEACgkQbljekB8A +Gu98YQ//dMMpEdKapK6bBM++8HoSWeydnoUifFqu3LiDXcDTgQ6jVsmwQ/QOUPll +bOB7etdtu+FQEI4yl8d9w98TrXC8Mvl6p+dZ3SkIglLNeVmouiot+VDBpoOr/EPq +xXf6dGlkDneYTsAFXwDKe48vmisdWd1trtYhVuE6qWq54AH4Y3dv0+DOMIdlKbPc +GHFLRoJ/eEJH+3QAhL8Ozdp2WySUWHPMsScBRldcrhariXzEQ9KcM6TJx8mYGKta +DYeezna1DQ87wU8Zs5fKfhUS6q/YJcXr9Te5P1xirmcmgr2frJW1DjfWKI8oQ9ru +2mn6oedSu6nRFjpYzO9tS/7svC8Hkyyr1rsZujRkC5cMRwY2DovU653GoaOwadMc +gig8CvOeb1srD1kMnFyGfa54VTbGZCZ261bnGdUc9BCL8ARtv6q4KNTRofkYrCLP +YwGTxEsCVdNbtDGv5nLJ/V7RfAUMnp9YuYpHc0Auttt6cUW6DI3nGQg+LlfoCJ0n +JESXa3Fry0GcFWiPB6oigyFSH6c3Ml+E7TiUYAZOtQ4cqJG1v9x1Lv5BQ1dz5vah +J24oGW2uI6Xp0TbvIFBd6KCFZSa/dS9sq486norj17X7ktZ7EeVVpm4vRBtDEo4N +k2WdkjcWfSM5uLnYLZR+rp+1rhtSIxw3gZaoJLl18p+9NMOFBH4= +=RgID +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/SA-25:09/netinet-13.patch b/website/static/security/patches/SA-25:09/netinet-13.patch new file mode 100644 index 0000000000..49031737eb --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-13.patch @@ -0,0 +1,244 @@ +--- sys/netinet/in_pcb.c.orig ++++ sys/netinet/in_pcb.c +@@ -2668,6 +2668,7 @@ + struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; + struct inpcbport *phd; + u_int32_t hashkey_faddr; ++ bool connected; + + INP_WLOCK_ASSERT(inp); + INP_HASH_WLOCK_ASSERT(pcbinfo); +@@ -2676,11 +2677,15 @@ + ("in_pcbinshash: INP_INHASHLIST")); + + #ifdef INET6 +- if (inp->inp_vflag & INP_IPV6) ++ if (inp->inp_vflag & INP_IPV6) { + hashkey_faddr = INP6_PCBHASHKEY(&inp->in6p_faddr); +- else ++ connected = !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr); ++ } else + #endif +- hashkey_faddr = inp->inp_faddr.s_addr; ++ { ++ hashkey_faddr = inp->inp_faddr.s_addr; ++ connected = inp->inp_faddr.s_addr != INADDR_ANY; ++ } + + pcbhash = &pcbinfo->ipi_hashbase[INP_PCBHASH(hashkey_faddr, + inp->inp_lport, inp->inp_fport, pcbinfo->ipi_hashmask)]; +@@ -2689,10 +2694,12 @@ + INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)]; + + /* +- * Add entry to load balance group. +- * Only do this if SO_REUSEPORT_LB is set. ++ * Ignore SO_REUSEPORT_LB if the socket is connected. Really this case ++ * should be an error, but for UDP sockets it is not, and some ++ * applications erroneously set it on connected UDP sockets, so we can't ++ * change this without breaking compatibility. + */ +- if ((inp->inp_flags2 & INP_REUSEPORT_LB) != 0) { ++ if (!connected && (inp->inp_flags2 & INP_REUSEPORT_LB) != 0) { + int error = in_pcbinslbgrouphash(inp, M_NODOM); + if (error != 0) + return (error); +@@ -2761,6 +2768,7 @@ + struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; + struct inpcbhead *head; + u_int32_t hashkey_faddr; ++ bool connected; + + INP_WLOCK_ASSERT(inp); + INP_HASH_WLOCK_ASSERT(pcbinfo); +@@ -2769,11 +2777,19 @@ + ("in_pcbrehash: !INP_INHASHLIST")); + + #ifdef INET6 +- if (inp->inp_vflag & INP_IPV6) ++ if (inp->inp_vflag & INP_IPV6) { + hashkey_faddr = INP6_PCBHASHKEY(&inp->in6p_faddr); +- else ++ connected = !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_faddr); ++ } else + #endif +- hashkey_faddr = inp->inp_faddr.s_addr; ++ { ++ hashkey_faddr = inp->inp_faddr.s_addr; ++ connected = inp->inp_faddr.s_addr != INADDR_ANY; ++ } ++ ++ /* See the comment in in_pcbinshash(). */ ++ if (connected && (inp->inp_flags2 & INP_REUSEPORT_LB) != 0) ++ in_pcbremlbgrouphash(inp); + + head = &pcbinfo->ipi_hashbase[INP_PCBHASH(hashkey_faddr, + inp->inp_lport, inp->inp_fport, pcbinfo->ipi_hashmask)]; +--- tests/sys/netinet/so_reuseport_lb_test.c.orig ++++ tests/sys/netinet/so_reuseport_lb_test.c +@@ -29,6 +29,8 @@ + + #include + #include ++#include ++#include + #include + + #include +@@ -236,10 +238,156 @@ + } + } + ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp); ++ATF_TC_BODY(connect_udp, tc) ++{ ++ struct sockaddr_in sin = { ++ .sin_family = AF_INET, ++ .sin_len = sizeof(sin), ++ .sin_addr = { htonl(INADDR_LOOPBACK) }, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len >= 1, "expected data available"); ++} ++ ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp6); ++ATF_TC_BODY(connect_udp6, tc) ++{ ++ struct sockaddr_in6 sin6 = { ++ .sin6_family = AF_INET6, ++ .sin6_len = sizeof(sin6), ++ .sin6_addr = IN6ADDR_LOOPBACK_INIT, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len >= 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len >= 1, "expected data available"); ++} ++ + ATF_TP_ADD_TCS(tp) + { + ATF_TP_ADD_TC(tp, basic_ipv4); + ATF_TP_ADD_TC(tp, basic_ipv6); ++ ATF_TP_ADD_TC(tp, connect_udp); ++ ATF_TP_ADD_TC(tp, connect_udp6); + + return (atf_no_error()); + } diff --git a/website/static/security/patches/SA-25:09/netinet-13.patch.asc b/website/static/security/patches/SA-25:09/netinet-13.patch.asc new file mode 100644 index 0000000000..4767da0d8d --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-13.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmj5CrcACgkQbljekB8A +Gu+Aqg/8CJPC1rYA+WwpTlAFbQ4HbNrWWptKQvnvvc9qZ6I74p4B4g5tXTsarJaw +Y5fEX4o+SU1aM2x3jLEEKXvjm+BHjeI8OFWDIXsSwg6SH9CkXiiqVeFsgYl7ld0R +W1YU+1QN8/4co/QLOgbRAPFcTm8z6FX6yzWcWRnwrHksT6lSu6q0FTTm//2T+upN +QdW8L19dV0zvL36aA47P7WR5aiaRuyDj9K8gpQnD/rlCPjMpwmuVXdlvQDs7m0uE +4fbrNULAk+2QXUMqWG8qUbpLgAK5oNrI5dGVXzWwJ98pOm5gO7rozWlAE4bn46nk +9/4cMWVZoYHp4Ui0iHqb9nvdJQq21jFS1408Bxsi4sT+nztRsbO8plD3ihSiG+XL +VVcauVUxxf8ezbJmTSji5HTnSIs16kHPiVGCgEuX0bBeItyqrT9p6v379Jw2pSgH +FQHNGoFYJQ0KDlEFxpxChpZyyH7DMKYF0ckwd9apsD8HCUvw1w6y89UjahPpb7Gj +2p3O8NvEFpy0ODL0/h5G7Wc6hzs++i/gaiXiRZXhMtXY0rlpcH6N5SrTso2jY2SA +yEOM1AZV9v9hzS6st4R+Tot/e3j4OlxMjhSKJu9F3VyGyNbIhXFW8pMvjTD06CWM +YSLX4qyBoHhkrMpsj53acGif0hlikN59tuAuVRjGeXRgrbQudkU= +=4UW4 +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/SA-25:09/netinet-14.patch b/website/static/security/patches/SA-25:09/netinet-14.patch new file mode 100644 index 0000000000..0c022135e8 --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-14.patch @@ -0,0 +1,198 @@ +--- sys/netinet/in_pcb.c.orig ++++ sys/netinet/in_pcb.c +@@ -2702,10 +2702,13 @@ + INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)]; + + /* +- * Add entry to load balance group. +- * Only do this if SO_REUSEPORT_LB is set. ++ * Ignore SO_REUSEPORT_LB if the socket is connected. Really this case ++ * should be an error, but for UDP sockets it is not, and some ++ * applications erroneously set it on connected UDP sockets, so we can't ++ * change this without breaking compatibility. + */ +- if ((inp->inp_socket->so_options & SO_REUSEPORT_LB) != 0) { ++ if (!connected && ++ (inp->inp_socket->so_options & SO_REUSEPORT_LB) != 0) { + int error = in_pcbinslbgrouphash(inp, M_NODOM); + if (error != 0) + return (error); +@@ -2836,6 +2839,10 @@ + connected = !in_nullhost(inp->inp_faddr); + } + ++ /* See the comment in in_pcbinshash(). */ ++ if (connected && (inp->inp_flags & INP_INLBGROUP) != 0) ++ in_pcbremlbgrouphash(inp); ++ + /* + * When rehashing, the caller must ensure that either the new or the old + * foreign address was unspecified. +--- tests/sys/netinet/so_reuseport_lb_test.c.orig ++++ tests/sys/netinet/so_reuseport_lb_test.c +@@ -29,6 +29,8 @@ + + #include + #include ++#include ++#include + #include + + #include +@@ -236,10 +238,156 @@ + } + } + ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp); ++ATF_TC_BODY(connect_udp, tc) ++{ ++ struct sockaddr_in sin = { ++ .sin_family = AF_INET, ++ .sin_len = sizeof(sin), ++ .sin_addr = { htonl(INADDR_LOOPBACK) }, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 1, "unexpected data available"); ++} ++ ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp6); ++ATF_TC_BODY(connect_udp6, tc) ++{ ++ struct sockaddr_in6 sin6 = { ++ .sin6_family = AF_INET6, ++ .sin6_len = sizeof(sin6), ++ .sin6_addr = IN6ADDR_LOOPBACK_INIT, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 1, "unexpected data available"); ++} ++ + ATF_TP_ADD_TCS(tp) + { + ATF_TP_ADD_TC(tp, basic_ipv4); + ATF_TP_ADD_TC(tp, basic_ipv6); ++ ATF_TP_ADD_TC(tp, connect_udp); ++ ATF_TP_ADD_TC(tp, connect_udp6); + + return (atf_no_error()); + } diff --git a/website/static/security/patches/SA-25:09/netinet-14.patch.asc b/website/static/security/patches/SA-25:09/netinet-14.patch.asc new file mode 100644 index 0000000000..b0c2e2429c --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-14.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmj5CrgACgkQbljekB8A +Gu+IoRAAlJrsOBxL+/qrj25ehBLzbEmgD3t6xdbz3GboR1Nfwx1ragW11xHR0sCN +Mx73rW8Gvf9vOAThvSPs4ajMq4gEmu5tTz8LR5wZnsiGQJrxgz8OZLIvQPIfiF0X +deaXmWE/QK+7T3zqGM5uQIv2I8XIhx6cyvnm5sXFL/cpjiWwWwo3eMiB4k5ecW0w +HZqF/VclSAnB7VhkyvoVOU45+9DdgG6wVdGTBZbGOm6Y7JKkrrlIH84yb4onNanx +XjPOwD+TNXFGlz1rS3R5KuVsEUx1TR3NCYkrjBZcTVFul3YhnH+Cvn2LxUKv+Brf +1EVywW11lF2FMa+cukIaei6Dnka79UnHdarKaCyBseSFmzmcV+XSb0dsvDoEF4mx +XvaIn7BBoEfcBcH2HB46huUWeVWAVvjC4qpkoKGYbiYnS+iamA+uTrazeP5zkgnz +f1KRpgVvAzFNQqGhUI6AO9m+/DugShjtHN6oT8HmKTNfEo2/nbEWGh1+KNCTWMfr +CtVWBwSCV0UECH5DcKDcbjtgoqnJ2qNkooye2ruSjbLkOr6wyWMcNnhm/y9XlXJc +1meQGpMWTHhPYyi+VK4Z+/E5oj3fNv9ZFKDrEnAq5lzNEhkW+O0tYVTkfj/D2bNy +CR50qzAogqsn73XJJ++y2mGa18hs0BNhwAOV8jy4clR4HCRP65c= +=lJlP +-----END PGP SIGNATURE----- diff --git a/website/static/security/patches/SA-25:09/netinet-15.patch b/website/static/security/patches/SA-25:09/netinet-15.patch new file mode 100644 index 0000000000..7083189c9a --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-15.patch @@ -0,0 +1,201 @@ +--- sys/netinet/in_pcb.c.orig ++++ sys/netinet/in_pcb.c +@@ -2665,10 +2665,13 @@ + INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)]; + + /* +- * Add entry to load balance group. +- * Only do this if SO_REUSEPORT_LB is set. ++ * Ignore SO_REUSEPORT_LB if the socket is connected. Really this case ++ * should be an error, but for UDP sockets it is not, and some ++ * applications erroneously set it on connected UDP sockets, so we can't ++ * change this without breaking compatibility. + */ +- if ((inp->inp_socket->so_options & SO_REUSEPORT_LB) != 0) { ++ if (!connected && ++ (inp->inp_socket->so_options & SO_REUSEPORT_LB) != 0) { + int error = in_pcbinslbgrouphash(inp, M_NODOM); + if (error != 0) + return (error); +@@ -2770,6 +2773,10 @@ + connected = !in_nullhost(inp->inp_faddr); + } + ++ /* See the comment in in_pcbinshash(). */ ++ if (connected && (inp->inp_flags & INP_INLBGROUP) != 0) ++ in_pcbremlbgrouphash(inp); ++ + /* + * When rehashing, the caller must ensure that either the new or the old + * foreign address was unspecified. +--- tests/sys/netinet/so_reuseport_lb_test.c.orig ++++ tests/sys/netinet/so_reuseport_lb_test.c +@@ -29,6 +29,8 @@ + + #include + #include ++#include ++#include + #include + + #include +@@ -551,6 +553,150 @@ + close(s); + } + ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp); ++ATF_TC_BODY(connect_udp, tc) ++{ ++ struct sockaddr_in sin = { ++ .sin_family = AF_INET, ++ .sin_len = sizeof(sin), ++ .sin_addr = { htonl(INADDR_LOOPBACK) }, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin, sizeof(sin)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin, ++ (socklen_t[]){sizeof(sin)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin, ++ sizeof(sin)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 1, "unexpected data available"); ++} ++ ++/* ++ * The kernel erroneously permits calling connect() on a UDP socket with ++ * SO_REUSEPORT_LB set. Verify that packets sent to the bound address are ++ * dropped unless they come from the connected address. ++ */ ++ATF_TC_WITHOUT_HEAD(connect_udp6); ++ATF_TC_BODY(connect_udp6, tc) ++{ ++ struct sockaddr_in6 sin6 = { ++ .sin6_family = AF_INET6, ++ .sin6_len = sizeof(sin6), ++ .sin6_addr = IN6ADDR_LOOPBACK_INIT, ++ }; ++ ssize_t n; ++ int error, len, s1, s2, s3; ++ char ch; ++ ++ s1 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s1 >= 0); ++ s2 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s2 >= 0); ++ s3 = socket(PF_INET6, SOCK_DGRAM, 0); ++ ATF_REQUIRE(s3 >= 0); ++ ++ error = setsockopt(s1, SOL_SOCKET, SO_REUSEPORT_LB, (int[]){1}, ++ sizeof(int)); ++ ATF_REQUIRE_MSG(error == 0, ++ "setsockopt(SO_REUSEPORT_LB) failed: %s", strerror(errno)); ++ error = bind(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s2, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ error = bind(s3, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "bind() failed: %s", strerror(errno)); ++ ++ /* Connect to an address not owned by s2. */ ++ error = getsockname(s3, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ error = connect(s1, (struct sockaddr *)&sin6, sizeof(sin6)); ++ ATF_REQUIRE_MSG(error == 0, "connect() failed: %s", strerror(errno)); ++ ++ /* Try to send a packet to s1 from s2. */ ++ error = getsockname(s1, (struct sockaddr *)&sin6, ++ (socklen_t[]){sizeof(sin6)}); ++ ATF_REQUIRE(error == 0); ++ ++ ch = 42; ++ n = sendto(s2, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ ++ /* Give the packet some time to arrive. */ ++ usleep(100000); ++ ++ /* s1 is connected to s3 and shouldn't receive from s2. */ ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 0, "unexpected data available"); ++ ++ /* ... but s3 can of course send to s1. */ ++ n = sendto(s3, &ch, sizeof(ch), 0, (struct sockaddr *)&sin6, ++ sizeof(sin6)); ++ ATF_REQUIRE(n == 1); ++ usleep(100000); ++ error = ioctl(s1, FIONREAD, &len); ++ ATF_REQUIRE(error == 0); ++ ATF_REQUIRE_MSG(len == 1, "unexpected data available"); ++} ++ + ATF_TP_ADD_TCS(tp) + { + ATF_TP_ADD_TC(tp, basic_ipv4); +@@ -561,6 +707,8 @@ + ATF_TP_ADD_TC(tp, bind_without_listen); + ATF_TP_ADD_TC(tp, connect_not_bound); + ATF_TP_ADD_TC(tp, connect_bound); ++ ATF_TP_ADD_TC(tp, connect_udp); ++ ATF_TP_ADD_TC(tp, connect_udp6); + + return (atf_no_error()); + } diff --git a/website/static/security/patches/SA-25:09/netinet-15.patch.asc b/website/static/security/patches/SA-25:09/netinet-15.patch.asc new file mode 100644 index 0000000000..380b5aba55 --- /dev/null +++ b/website/static/security/patches/SA-25:09/netinet-15.patch.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmj5CrkACgkQbljekB8A +Gu9urA//d3+X7bwSN9niBanoXBIRFsxr7+im0rHelA5UtPJ9OQ160IAbDdu2H9Cn +76HavCQ+bpytDZxVTWplm9lK9NskFq71ChMosgH7rqDPVcgqyNPqDuGWNbH28dBq +sBydMzY7ZkiDurLlUaesQCKopBES8I4s9DXmO9lWLXm0VI2CkiCYkf3HPZeyxJp5 +7NLXNZQWz+/Osnd1HYb/HlxEiX/DjDgnvbtD11ho2kzlO9wDy4jKwOwAgM49+UP9 +HapQh+1nrRPiX/dqZ5bAVLnztTjSVXq58V/kejpHHlbht8OxAqkGfSoeHB6emSyl +gH5fPSnBd9/IwpBUR79f0+BuHkkibhoVOrSqNl95C3VyuUNPhy/fhrChEQbET1vs +NfbsGO7pNaaTjg5zjEGXJK8x8q+S9R9Q31M1Lts5FMiKdjGIHNzWPu+ZLPMSXBdy +3iJ0OAaLLo5GJ6mefJWCTyUGbegaaxjBrJD+No12sjgXkcogvMm0VvmA7wNxnBXW +Fevs5++9hR8NU4eIhCx3mZQaQDwFOgoV6zKcPtir52jZd+txKnkw3fC01RKE86FW +opINfUTA/W4sZCG2DaSuU7USo2vMKG3m//HBvbO5eSBq+qnavFOWTvQUc16hfMxa +7+pd8VXtdEiZkwqR2Dj58Gt9D3xqoh4fbHQ+AbqvoN3lPJmnNsA= +=/zfq +-----END PGP SIGNATURE----- From nobody Thu Oct 23 01:10:22 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4csSdB34fFz6DBTN for ; Thu, 23 Oct 2025 01:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4csSdB2VfXz3gXd; Thu, 23 Oct 2025 01:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761181822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5/uOUiBowSRx4j+i5Q4Oi4/J73pKCcbulmIZNF6EeM=; b=qSTCQ7Mc8InErYRn2inigmb/vVr4rWEZHPOqmb4CfT/mdlOa/WbjF3HwjwtX2jOPptre/9 5n5og31ogMn4TveAjwOnROfiF7kWsPbrGduFniQehWILmMZap++pdhpjX3fNXky5A7oDRg aQ2f4A2Rx6dG2KW+Z4tYNM20iikWM3ExSmb7cIOYdv+G7xyy4INOmR+ABBzL53WUIY87AF oG6US6NzT0CIUvIcMfSS1u0VdpP1I110o/mEKxpzWRV8i2xRFrR+7NPhfED2QnJsAGOoeE 1kFkoLrWLS7kYrOau5I51bxv7wjV9SY+gzqq9pYafZxmXPUlKLU8XTmuMNtXqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761181822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j5/uOUiBowSRx4j+i5Q4Oi4/J73pKCcbulmIZNF6EeM=; b=du9BdC6cUTV/dcYhYjIMjFzvkXlInwoMNW6W2orJVS61aup+96BwtaA9FVXClAh8ukQ59r K/Scmd8kZRhyr7/F4WPBhR1uNV0F0EAjYSzQnysT7PXlh3WAdgQ2zhT5I6/IM3M0vMH5Ng UpmOfvfzeNN70JQRxT6NRjnZtTkJPiQIkv9XN82aQspW6a9Ay96ehzU5h1ReyqLn82ujiR 9T490oT2hpt3fgvEOGkELWNcCLKgnUzFpst2vle+Yn3UpwpCnhCfMHxnH2qVQNUprJPXJt iXhXbnPGUzwwBPX7Qc6zNIf6swdSt/eAWEAtjFlJbRh8goMq4edbhLMNRLQ7QA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761181822; a=rsa-sha256; cv=none; b=eAASaHMGFKaQ4R9VGyqe6Fzd1Zf+tIKlx+UZFRn5We9zGg9+vSGHDGevQ748GcEupUBmGG /PkSzisdpJX5a92soRBRnaKZCCLx/w44wc3bRAFOaxO5chdy0j/bzqJ4GzLPu8TU3J/owc 37Jdupez3BKfCgKgvRFQ5N8Eqzf2iqs9tlGsuHaC9s+DEywjiGX2d91FA27EVT8iigZX/Q lYjGIrrNlK32n4MYFl4yghuDaaSPKtqh+VkllZ82i+wRSK1OAgT1UX81LiQh5RzvXoVOQc wf6/680AtlDxEyckXMsJZ6zTwotHWsF9sJF6Q4SVYBcgNC9tpvB0RBo/lCTCdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4csSdB1fd3zt00; Thu, 23 Oct 2025 01:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59N1AMcc089429; Thu, 23 Oct 2025 01:10:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59N1AMl4089426; Thu, 23 Oct 2025 01:10:22 GMT (envelope-from git) Date: Thu, 23 Oct 2025 01:10:22 GMT Message-Id: <202510230110.59N1AMl4089426@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Philip Paeps Subject: git: f7c017e1f2 - main - Add security advisory affecting 13.5R and 14.3R List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7c017e1f20ea555a764be03aa52f0cfbca17d4a Auto-Submitted: auto-generated The branch main has been updated by philip: URL: https://cgit.FreeBSD.org/doc/commit/?id=f7c017e1f20ea555a764be03aa52f0cfbca17d4a commit f7c017e1f20ea555a764be03aa52f0cfbca17d4a Author: Philip Paeps AuthorDate: 2025-10-23 01:09:54 +0000 Commit: Philip Paeps CommitDate: 2025-10-23 01:09:54 +0000 Add security advisory affecting 13.5R and 14.3R FreeBSD-SA-25:09.netinet affects all supported releases --- website/content/en/releases/13.5R/errata.adoc | 1 + website/content/en/releases/14.3R/errata.adoc | 1 + 2 files changed, 2 insertions(+) diff --git a/website/content/en/releases/13.5R/errata.adoc b/website/content/en/releases/13.5R/errata.adoc index 2afe7f2778..2318705407 100644 --- a/website/content/en/releases/13.5R/errata.adoc +++ b/website/content/en/releases/13.5R/errata.adoc @@ -44,6 +44,7 @@ For a list of all FreeBSD CERT security advisories, see https://www.FreeBSD.org/ |link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:06.xz.asc[FreeBSD-SA-25:06.xz] |2 July 2025 |Use-after-free in multi-threaded xz decoder |link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:07.libarchive.asc[FreeBSD-SA-25:07.libarchive] |8 August 2025 |Integer overflow in libarchive leading to double free |link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:08.openssl.asc[FreeBSD-SA-25:08.openssl] |30 September 2025 |Multiple vulnerabilities in OpenSSL +|link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:09.netinet.asc[FreeBSD-SA-25:09.netinet] |22 October 2025 |SO_REUSEPORT_LB breaks connect(2) for UDP sockets |=== [[errata]] diff --git a/website/content/en/releases/14.3R/errata.adoc b/website/content/en/releases/14.3R/errata.adoc index facd1e4f7f..c89921d04d 100644 --- a/website/content/en/releases/14.3R/errata.adoc +++ b/website/content/en/releases/14.3R/errata.adoc @@ -46,6 +46,7 @@ For a list of all FreeBSD CERT security advisories, see https://www.FreeBSD.org/ |Advisory |Date |Topic |link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:07.libarchive.asc[FreeBSD-SA-25:07.libarchive] |8 August 2025 |Integer overflow in libarchive leading to double free |link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:08.openssl.asc[FreeBSD-SA-25:08.openssl] |30 September 2025 |Multiple vulnerabilities in OpenSSL +|link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:09.netinet.asc[FreeBSD-SA-25:09.netinet] |22 October 2025 |SO_REUSEPORT_LB breaks connect(2) for UDP sockets |=== [[errata]] From nobody Thu Oct 23 01:48:15 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4csTSv2dcDz6DGSK for ; Thu, 23 Oct 2025 01:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4csTSv1qtkz3kcP; Thu, 23 Oct 2025 01:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761184095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oWlJATz83k+zyBrGyBh7bZxxKQUvBxm6LWsUGrz0oN0=; b=xoLymJ9hu89Cv1SBQKFxfP6tM4YoiO+lgkEodTal6+OeRId8vF/b6FSCyyW2I3EJ9dZ1Nw 6JAPqbVvTvRZ3YvPLuwlJXEk8AMDdrYSVu3vtCxLJnakkRIfTz4dgZU3mIx5s//8KT8Sq6 QrU52njCt8f6NdhtbftOgmiHAQ3FcDxBoPEMEvV+hn5V8YJGHqZBnbe0glAzIW+xoZ5NQo dmB1770ngYQrQ+U0xNOoqV3yipd1oCOD1asT2LhSrPHlfEEVEaA4hbpJkberY4t13pzGhC tcMeheEjDj68E7rJVXrfszdVh7Hm8NGYGJzywg2tWplPFnUHzuRSwRILhe2hjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761184095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oWlJATz83k+zyBrGyBh7bZxxKQUvBxm6LWsUGrz0oN0=; b=r+9BovpGCYR2QvLXS8u+LFCwioe23RYc86Tfa+CYN7pV++ILzXVKGRCSlOVtmcfq2ipuje l/eSPjnNZI/oyFvqZ5zkhimLOptYtI0FS9SM/x3k++iK9d1y7pp9uq4dMTg7g23jBbHDiG IOqzKaDOr/IhIjoUgE9lck3WodxK3aasRXIre6GS+QJlZOWazlo5urhUfogqGnANCq5eL6 5txax+qytjYUWTSuuvUbXnRFQU2aipHEj/fIESHyk+1Yf79vf0JcWU59V+Ukh3pcn3J0uX TrgjWymMX1xwVej7aG6HvW4IGQ0Po818cIcZSzpH4d8mY/OHFB7cqTNIjFZ+bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761184095; a=rsa-sha256; cv=none; b=D7TJriZVhbcAuoXb1DqyH++9pdsiKNgK4Jxv6+SjEgeNjtHpDtqIgzlBn7v5MBMRLJFzXs TNe5R3lBBF/GWy2UB3QjuMTZ4e3NoZGj5pCrDnlIvmZxk4C8L+mAAW1VjXMpU1kDYTOypj YRCNCreJY2VlekSfZJHvhhfdBok6dyFMZKUM4KuBcaUNqse+kcsWAVRhxsZpH434hAVjpT Y5MhKOuA9llRGwua9qWmLN2y8+InU7fHpbDY0imab/XHVFcJJ222pBYVX5OpaBXXdqc+Vf 9Xy6SlxF6TFebIuAr84JbWHuvUDbChcq+uStyUFdhK6pxSqHpLdW89pv1JYq1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4csTSv197Szv5s; Thu, 23 Oct 2025 01:48:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59N1mFcY054749; Thu, 23 Oct 2025 01:48:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59N1mF5Y054746; Thu, 23 Oct 2025 01:48:15 GMT (envelope-from git) Date: Thu, 23 Oct 2025 01:48:15 GMT Message-Id: <202510230148.59N1mF5Y054746@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Brad Davis Subject: git: a10f3b9ff2 - main - Replace CHEESESHOP with PYPI since it is long gone List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brd X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a10f3b9ff2fcb254e29fef0e89dd022e38ed1900 Auto-Submitted: auto-generated The branch main has been updated by brd: URL: https://cgit.FreeBSD.org/doc/commit/?id=a10f3b9ff2fcb254e29fef0e89dd022e38ed1900 commit a10f3b9ff2fcb254e29fef0e89dd022e38ed1900 Author: Brad Davis AuthorDate: 2025-10-20 20:35:05 +0000 Commit: Brad Davis CommitDate: 2025-10-23 01:48:09 +0000 Replace CHEESESHOP with PYPI since it is long gone Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D53227 --- documentation/content/en/books/porters-handbook/makefiles/_index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc index bce34cc330..45218f712b 100644 --- a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc +++ b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc @@ -1384,7 +1384,7 @@ MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION} |`BERLIOS` |`${PORTNAME:tl}.berlios` -|`CHEESESHOP` +|`PYPI` |`source/${DISTNAME:C/(.).\*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}` |`CPAN` From nobody Thu Oct 23 18:49:07 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4csw6q2BmGz6DDWK for ; Thu, 23 Oct 2025 18:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4csw6q1k75z45jk; Thu, 23 Oct 2025 18:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761245347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dleb1HM3Dkc9EWMTu1D5jXn0WxdUteshWDoDA0A6tmQ=; b=ckApAisiOUnzLsiC3b3yNpCt0bxHaOT9PSDaaD6oVkEK8acyXahw/Tk0L+Hmpaa8tTaBKY CdCCP/GxEz6U25UIQan2W5V2naHix5eOOtotdxAZ7Y3OGcgaIqjjm0sky9AhK1V5+HlnlA FEXkAGlURNKlyltGh8Nabg75fO/AUUMIlS/sXjHccERpJeAO6t2TBNl2awdAnr746L7//x W18n8fg7+ZGFP6wwzUbQiKSsKq6jDZClp07OEYITFyr47fjM0UdZs5o6gY8liWvt7wK+BW TcM498V4Qg6K6VCLd5+R5rw+d5pVPnSrvhQeuXUwjNl1j1oH4FooTF+zbahkfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761245347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Dleb1HM3Dkc9EWMTu1D5jXn0WxdUteshWDoDA0A6tmQ=; b=LhKZzbxpAEAkfmSU90KCunf5AuznAMWkV52UoLoehDfMxjJdzC/mmF5FEFq3dymMXH4/Fr 9uno5nAMNf2lhLR7B5nHsrRcvVIsDJAV+5ne5xYGAhUBcS0lRcsDvI8PFrJwiRls3zSlZL aHXR/HFryr8gKIX0iSamaBfhw3sJjEHsVjnynM//wwxOBLwIASTrB8H+xWjmPTI38+fwRf Oks+b9AU7gf7s9/GZWcKs6gJhtriCDnblk5TVILkHK876q0G1+gob17HSUXfD7rSXIQIFo uZN1Ks7YF7IFtsV1ow5aeuIGTIu3+j6e8ls/e/GJ0uTCq9rDeYksIt87GrHIyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761245347; a=rsa-sha256; cv=none; b=D17kGyKG7X0hjb/3H2lEeU8TOR6AxneBixqo1wdw7QdP4eG+x/6sJjjBsWqKnPquen1hOs mcp21/vry9/N/Q+Cp03d9zSPtKR8zuy6zgbpqOMsNsX1uumTjKIYhHvsKlLJVKx5u1FtbQ CtJb7qZKPwAfKpvb7x++GEqEXGiKY8PUKGVXFlcbnMK9ulmom+30bBoPcv76KHaxaLXw07 nnqWYHxLsWn2QbGiKxkjFYd3gIcyRHsG+J93fD03cShWPJLS+vmwlBRiOADQtOKG0lsxLT 5ZBHwjSAlvYzAsPmfyCvUA+fU8FC/t0L5OljzBdRKcU7oYrdOtQjax7k0Nio2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4csw6q1KSpzBQy; Thu, 23 Oct 2025 18:49:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59NIn7MX080003; Thu, 23 Oct 2025 18:49:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59NIn7aH080000; Thu, 23 Oct 2025 18:49:07 GMT (envelope-from git) Date: Thu, 23 Oct 2025 18:49:07 GMT Message-Id: <202510231849.59NIn7aH080000@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: John Baldwin Subject: git: edaadea0c0 - main - comitters-guide: Add a table of supported external toolchains List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: edaadea0c09eef293c0dc6faf249b296ed176a4c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/doc/commit/?id=edaadea0c09eef293c0dc6faf249b296ed176a4c commit edaadea0c09eef293c0dc6faf249b296ed176a4c Author: John Baldwin AuthorDate: 2025-10-23 18:48:50 +0000 Commit: John Baldwin CommitDate: 2025-10-23 18:48:50 +0000 comitters-guide: Add a table of supported external toolchains Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D53241 --- .../en/articles/committers-guide/_index.adoc | 29 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/documentation/content/en/articles/committers-guide/_index.adoc b/documentation/content/en/articles/committers-guide/_index.adoc index 7c26bd1f27..1a61f5f7e4 100644 --- a/documentation/content/en/articles/committers-guide/_index.adoc +++ b/documentation/content/en/articles/committers-guide/_index.adoc @@ -3303,9 +3303,32 @@ Developers should be mindful of this, and ensure any compiler specific flags are The versions of supported compilers for a given branch such as `main` or `stable/X` varies over time. The authoritative source for supported compiler versions are automated CI jobs tested in GitHub's cross-build actions and Jenkins. -For `main`, the in-tree compiler is currently Clang 19. -Currently, GCC 12, 13, and 14 are tested for amd64 via CI jobs in Jenkins. -Clang 14 and 18 are tested for aarch64 and arm64 in GitHub's cross-build actions. +[.tblbasic] +[cols="10*",options="header",] +|=== +|Branch | In-tree Compiler +|llvm12 | llvm13 | llvm14 | llvm15 | llvm18 +|amd64-gcc12 | amd64-gcc13 | amd64-gcc14 + +|main | llvm 19 +| | | | Y | Y +| Y | Y | Y + +|stable/15 | llvm 19 +| | | Y | | Y +| Y | Y | Y + +|stable/14 | llvm 19 +| Y | Y | Y | | +| Y | | Y + +|stable/13 | llvm 19 +| Y | Y | Y | | +| Y | | Y +|=== + +GCC toolchains are tested for amd64 via CI jobs in Jenkins. +LLVM toolchains are tested for aarch64 and arm64 in GitHub's cross-build actions. === Other Suggestions From nobody Thu Oct 23 19:46:52 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4csxPT0qbRz6DMNM for ; Thu, 23 Oct 2025 19:46:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4csxPT03rRz4F4q; Thu, 23 Oct 2025 19:46:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761248813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sr+VnNi+EKgKJDigI2ts8GmGwr+iBl2Tm70oG73GPhA=; b=I5bPaP1zsBpQ5YZU5gWK0Bt4kpyFF2jrMhhQprsI7b/c4aoAhThacWbP1T35LhnknlMfxs AAjllpvvi1tjkgy67yLWeX5RluSjVN2FMmjUqYL7CSJNqzmIM0Gj358RQNgUISuhakQ0j1 ykILgaYK4wkOUgDjCAWGjYGFkaZjLohz8/UY1mARdLpxq1ZR3u5Q4exyRCRIe8A/p/GH05 9xgqeHhnpUSC8XemZfoMnXzlPhJCOAf2BqcwRukiFdk+FHUe9bidT/sZx39S/ZGpAwLG2Q FdqZ/tNwlf15kJeBKpkpMuQyCSpx4M/6S3LqnLSLUYNj98/59dC9HoAWe9N1FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761248813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Sr+VnNi+EKgKJDigI2ts8GmGwr+iBl2Tm70oG73GPhA=; b=UmRThw9a/aqVd/9sTsjKaQvR38AuNpMpFQ+V8q5oyVIZSuO2sHJmL0QMDH+sOqRcuutWDi Hf38oOUaPjfwdaiFjmZF9YLk251xw0ln7IZnb6E8hqkr57UQEQbqyTqalP/5leRUset3/W Qf3UvxrKhcmMY409WtXuR6JqaSUoXpMCBYXUMi34WuUnxTUhqaUP0q4PhSLCvdoktWRs51 XzE38qi3k3CIOKbTRBultPdO4gvZmKah2pBPtpBX/fNkKFmA3h43XXpFVd3h5NK0BKQhh+ 8gj+dGtZSwLUBhpc09T9sDOdjs1KbvGpr95X5vPQU7yLoIQH0eupvej90i5Ycg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761248813; a=rsa-sha256; cv=none; b=wvrxxBZufS4IBlq4tGyB2kADJvNFDM25/k5SGV3qctN6AUN8VDb+4Dnqzk69bl1+K4vzEq BZp0pNnUMQruyAZOXVKc3fug4ANdTkHUDdRp9z4wAoGEgBAc1q4ulnnt5vdgnDfXt6q2Fu FJ+4lBAZ6Yh/I9v0cFj548IrNmgzZUY55/C23ZPjCRM6sMG21BZ35rz8u8jJL34MR1A4Nt 9KCfVv5ZyxWwEALgQg8h5wYiA2uq+lcBjJRLnEszbeMSangAy1CqDZKdz80djr1RKDCJ74 nsqQycQvd5/NLjB9PWaDGdyBtH5270Q9wF2Ers0589/DpMJQTV7y6c98t/dyYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4csxPS6llYzDNb; Thu, 23 Oct 2025 19:46:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59NJkq1U092474; Thu, 23 Oct 2025 19:46:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59NJkq5d092471; Thu, 23 Oct 2025 19:46:52 GMT (envelope-from git) Date: Thu, 23 Oct 2025 19:46:52 GMT Message-Id: <202510231946.59NJkq5d092471@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Brad Davis Subject: git: 04bbaefddd - main - Document USE_PYTHON=pep517 List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brd X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04bbaefddd352f3ac326ad0264adc8d05408261a Auto-Submitted: auto-generated The branch main has been updated by brd: URL: https://cgit.FreeBSD.org/doc/commit/?id=04bbaefddd352f3ac326ad0264adc8d05408261a commit 04bbaefddd352f3ac326ad0264adc8d05408261a Author: Brad Davis AuthorDate: 2025-10-23 02:21:01 +0000 Commit: Brad Davis CommitDate: 2025-10-23 19:46:19 +0000 Document USE_PYTHON=pep517 Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D53289 --- documentation/content/en/books/porters-handbook/special/_index.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/documentation/content/en/books/porters-handbook/special/_index.adoc b/documentation/content/en/books/porters-handbook/special/_index.adoc index 87604ac0cb..ffb853444f 100644 --- a/documentation/content/en/books/porters-handbook/special/_index.adoc +++ b/documentation/content/en/books/porters-handbook/special/_index.adoc @@ -3578,6 +3578,9 @@ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} |`USE_PYTHON=optsuffix` |If the current Python version is not the default version, the port will gain `PKGNAMESUFFIX=${PYTHON_PKGNAMESUFFIX}`. Only useful with flavors. +|`USE_PYTHON=pep517` +|Support building and installing wheels according to the PEP-517 standard. + |`PYTHON_PKGNAMEPREFIX` |Used as a `PKGNAMEPREFIX` to distinguish packages for different Python versions. Example: `py27-` From nobody Fri Oct 24 00:33:59 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ct3ml63twz6F0vC for ; Fri, 24 Oct 2025 00:33:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ct3ml5Klmz3dBG; Fri, 24 Oct 2025 00:33:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761266039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6acZ8SA9gJ0xwpJsUuqlL8MdGZPlJf929K7jxRyo600=; b=dtRi5rZpLNPhPV3TSaEAv0ob1y/HYl+StEAumi0EXuvuaDSev7XhhuWEyiq1z65frs7QzD MCxB4fU5SELTSGAawdVU2TNmr9n7zYAbl7O+FpfqC9VM8Vu13dhTo9nHH43ODKyoh0+FkD Tx4okDb6MER1QN3Rs2qMqA2uworHh7Y4TAZoaWKwDGyg0HBeIOMdIn2f6J1qgVh9PyWt0p FZIAOi7jmx+HbIhZz2t/DcKMt58KllrYurjnvxOT3eSJvvJlsrhUst8GVJOA3jJQbvqvgI pDu4Z0vBHOUexS+03Y88tNRLrlIUCofAQN5LVWLWAKeQ0ILIs82PwuA/Ce2gtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761266039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6acZ8SA9gJ0xwpJsUuqlL8MdGZPlJf929K7jxRyo600=; b=iXRZThYZq3ChvidhN1bKiKLPXNtIEGAlgG8s8HQk+at7ButH/vFFhKUciXlVZdkvINTLGu UgtI3uKU2h2RYZUSRCiNlLPpd3ij/H9twJJjjwSB6YRu/IWfGg5/8t6Ue31j0ucaz7C9yL vAYA4KfbUSQMA7Dfz0awfxNRIurmUWBFI1WUXw2GG5hTB1esh5rUiVD1VodFnpENvY2qTn leJaS1b/BfhfxBiVX0eXMO3RaVeVKFY2KTl60hj6aoOLDQznumEB8CVY1SAhLH6ovN/9r0 m0RlCLFSHS8IXO1B/HBIQ5A+qkgY8HWTfonsvvb9pq1v9LPdmgyebFXfVSkuaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761266039; a=rsa-sha256; cv=none; b=yzZYYgoetCDi0MryPIViac9vcqi3zBUl6qBP9c2hzBU+5zJDbjyjL6xau2VNKUU/vh3gqh si4Mt8Aynh7IW/8dqke5Ar1440VU83ICazOdGiGJ6OnXAsbSouUn8+eoy81X/dEaHkkPiJ Uxxy4kMbC0uzVRLCYZjJwe1tlZ4W2hZOixynZHTfr9xP5iUVcdPNbdl1/HfSY5CUGchW/f 97M1PV2phigz2I+kjOTZBCRDzZNstoRZfORskOaqj0sYps1j3z5y0fwFDHMw9nVavlu9ay hLd7RSsYk2i7+SuJ38HYk+uPBBoJzT27+UT+J+LN/qTEDaW+g8ejQowJkE+JwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ct3ml4wkLzfFm; Fri, 24 Oct 2025 00:33:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59O0Xx78039789; Fri, 24 Oct 2025 00:33:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59O0XxMX039786; Fri, 24 Oct 2025 00:33:59 GMT (envelope-from git) Date: Fri, 24 Oct 2025 00:33:59 GMT Message-Id: <202510240033.59O0XxMX039786@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 9291c6765e - main - 15.0: On (revised) schedule List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9291c6765e85bb487669cc74f35276d6de889d3f Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=9291c6765e85bb487669cc74f35276d6de889d3f commit 9291c6765e85bb487669cc74f35276d6de889d3f Author: Colin Percival AuthorDate: 2025-10-24 00:31:32 +0000 Commit: Colin Percival CommitDate: 2025-10-24 00:31:32 +0000 15.0: On (revised) schedule BETA3 builds started on October 24th as planned. Sponsored by: https://www.patreon.com/cperciva --- website/content/en/releases/15.0R/schedule.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/releases/15.0R/schedule.adoc b/website/content/en/releases/15.0R/schedule.adoc index e1f0324fd7..34784f3864 100644 --- a/website/content/en/releases/15.0R/schedule.adoc +++ b/website/content/en/releases/15.0R/schedule.adoc @@ -47,7 +47,7 @@ General discussions about the pending release and known issues should be sent to |BETA2 builds begin |[.line-through]#10 October 2025# + 17 October 2025 |17 October 2025 |Second beta test snapshot. |BETA3 builds begin |[.line-through]#17 October 2025# + -24 October 2025 |- |Third beta test snapshot. +24 October 2025 |24 October 2025 |Third beta test snapshot. |BETA4 builds begin |[.line-through]#24 October 2025# + 31 October 2025 |- |Fourth beta test snapshot. |RC1 builds begin |[.line-through]#31 October 2025# + From nobody Fri Oct 24 12:00:14 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctM0Z4thDz6DH10 for ; Fri, 24 Oct 2025 12:00:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctM0Z4HsTz3st3; Fri, 24 Oct 2025 12:00:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761307214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tVk25ipNQXNZzRRN80//fMWlg/mGGNZDXyub7DGJAKE=; b=SJPv/f31I9Gr1w8NCSBb/HnV9C71L9Mf6ImDjgf9Um9Gj8k/lbN+s475C4tPaHpErl4AwG c0C/bpo1dmzpuV34damHMTL125srIM5vcVtIoGFj1KnzraXVEV4QrTv2ghrlc8deWOCsAf zH9LcP7jITZ53fZ3Sg8HusNhbXqDhoYRzrm0v3S7vHP2m+MtPZ+lLciNLkiOXovP+S57fH zXyy0L1vWE4E8BwH5d3XUtaj+/qGuE5nYpS1vUQy9n3Kc4Azamvzw9ldZTBsTYs8axs/fA HQ17WeVh9F5L6V69YiFIwH0FJyQbh6gl9FuI93ppqzQ7n4fapPqOwl4BPFUO4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761307214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tVk25ipNQXNZzRRN80//fMWlg/mGGNZDXyub7DGJAKE=; b=YNN3JmVIC4Rlo76kQYHIU47FUxSbg4nQ9Ng88rst+90x9NY0A/tiyq48FQSphM5/r66qlm DKg9HKlHsqM6jaX3fF7cKCJEGP2riBhcdy78lR8sQRtYdZTMxSf+Qycs4DuGHjPajme6pS nmG0/X3vt+eCybOxOVX7ZS1qlhg47yn77cqDFcGnLfFS9IBtcrk/WDavKGO4UFt5qApFQA loVZV71OrCgXxdmXM3lWlgE2RAgRRauzYsin8MLMgGhSP1owZmWTAIA01ykcWJCDyhpLI5 XeLE1cWZtqQQYtaGrN3hb8LSHQ1vh7a9K25Dg+I4k7bAiFcfHM6eLK9Q51A1Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761307214; a=rsa-sha256; cv=none; b=iSgjku0TFvBL7u9s8anjEB+S/aY0JzqBE0TCytu8jhAcL6la6+S93GHSzpIwUld72rW+dr 19m2DfnlSvE2fa0FRvrTpQfpibFfSLc3bjd55oYUj0t4r21bnZCC7u0Z68sxjqtVd1IZNN Xw9JBc1GmfmOhSItR3TLtryBmadhMfWzJCFWsGw42dUTd8++Vg5gZDyKntH8hLq0yZjYjI bv3HIcn/kfBnw91JzXAJQysN5aA7WXHb0a8z5C8owpTwTRT6ShuzG9cCBP2Vk02X0sv0f/ HRx5frTVZYBqbfzln2/lg++ZWCofw1zkKDWiNH5gFuR2dLx6NhKTQ+l58JkoQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctM0Z3bzQz100T; Fri, 24 Oct 2025 12:00:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59OC0EDm029584; Fri, 24 Oct 2025 12:00:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59OC0E05029573; Fri, 24 Oct 2025 12:00:14 GMT (envelope-from git) Date: Fri, 24 Oct 2025 12:00:14 GMT Message-Id: <202510241200.59OC0E05029573@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Nicola Vitale Subject: git: 7c948eb937 - main - pgpkeys: Update nivit@ key List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nivit X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c948eb937977d2859610127bf1648fea8cb3fc0 Auto-Submitted: auto-generated The branch main has been updated by nivit: URL: https://cgit.FreeBSD.org/doc/commit/?id=7c948eb937977d2859610127bf1648fea8cb3fc0 commit 7c948eb937977d2859610127bf1648fea8cb3fc0 Author: Nicola Vitale AuthorDate: 2025-10-24 11:58:22 +0000 Commit: Nicola Vitale CommitDate: 2025-10-24 11:58:22 +0000 pgpkeys: Update nivit@ key Approved by: doc (implicit) --- documentation/static/pgpkeys/nivit.key | 194 +++++++++++++++++++++++++++------ 1 file changed, 162 insertions(+), 32 deletions(-) diff --git a/documentation/static/pgpkeys/nivit.key b/documentation/static/pgpkeys/nivit.key index 80a7038bae..36da95ac9b 100644 --- a/documentation/static/pgpkeys/nivit.key +++ b/documentation/static/pgpkeys/nivit.key @@ -1,43 +1,173 @@ -// sh addkey.sh nivit F11699E5; +// sh addkey.sh nivit A51E190C4C0808D0 ; [.literal-block-margin] .... -pub 1024D/F11699E5 2006-12-05 - Key fingerprint = 2C17 C591 2C6D 82BD F3DB F1BF 8FC9 6763 F116 99E5 -uid Nicola Vitale (Public key for nivit@FreeBSD.org) -sub 2048g/4C90805D 2006-12-05 +pub rsa2048/A51E190C4C0808D0 2014-11-27 [SC] [scadenza: 2026-02-01] + Impronta digitale della chiave = 989A 2360 266B 0DF7 EDAF 7E2E A51E 190C 4C08 08D0 +uid Nicola Stanislao Vitale +uid Nicola Vitale +uid Nicola Stanislao Vitale +uid Nicola Stanislao Vitale +uid Nicola Vitale +uid Nicola Stanislao Vitale +sub rsa2048/026C658CC066A8F8 2014-11-27 [E] [scadenza: 2026-02-01] + .... [.literal-block-margin] .... -----BEGIN PGP PUBLIC KEY BLOCK----- -mQGiBEV1n44RBADfkt4OUwHA7c8DbobkvhyXCRHC6w0NDQER6Q/uAE68nvEgPcdO -dAvGXUpNNWFXbKEnIc7ANCm0V7F2VDfwANAzePY1wBfVM8UQBLuSV2WIAfs1beLl -MZzO7sth2oeMuF7l7WwM31qwgRLTOOzXs7zG+m2uh1c1nMTKG9wgQ4rz8wCgmT5i -oJ25GpzaM0kgX3HQWP/MkFMEAK5GUSesXqHc37fEnO4WVvdB5afc4RTDJzvniXBm -nXkHin6uAWw4HSJOEOLPv8MtRZuIxOfznukjBpHnz19R0fEvWdRKzmDoc3Yn0BW+ -FdszOxY9Nt+LtY3/ZdcbgAtWu662/t3SvgWULgCQ7bvi0Nu75Zn3nui4j2uU5fNf -6v4KA/9x8FXQ18BPO7EuYe5ewQwVaGWKvzrMmz8NsiZuRs4oxWXL1x0nSCumetKA -03UHxGAQli+vuMNDcDXg5zpaGN7hIqS1N1fR7XEouvkgTDTUPsjjQUdmQ98lnEBf -URB5D+qDq8nq7H9R/4rOmxKdiA8xmBzadnolJ69Iz9nyJ4mvb7RETmljb2xhIFZp -dGFsZSAoUHVibGljIGtleSBmb3Igbml2aXRARnJlZUJTRC5vcmcpIDxuaXZpdEBG -cmVlQlNELm9yZz6IXwQTEQIAIAUCRXWfjgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B -AheAAAoJEI/JZ2PxFpnlNbMAoJWh5Yg1lOayXo3b8seKn09ers2UAJQLxlE9lS9G -qzU9FITOFNllI+duuQINBEV1n5MQCADqyPgr+kjhfCz/2N8y3FmWr4CSE0b1S7rH -i7fy27u0QcNK3vN/l0Vbj6dsacfP9DC3+aGw3W8uY8LK8q72AIAwLh1aoYtJfzMs -v1kqY4shMAANF55VgcAb7lyHpSymFraVZCai0nzNyccjJtSNQgC9s1BkXeUrRTS2 -su078DDYVgbXs1S14PkZOyrZ+0R4y4M6QKvD8Th46K+mZMaXdcn+wlIvOISFQppP -1htkyCnHexg5L6PE/VsdobiCyZ2zNKd+d6GUillVuO2Qpkq1dlLTPtRgFMnpjhRi -L0+a84b8rs6TE9g/ZLKNOmfmbGTTk3u4vQ7u6Mky6GCGO8W8WHW7AAMFCAC9NGWK -RU0l0hfHY3kjLll9Ygcnt42nAj4ipmnzMp0jAPV2AgShnzDJLZ1KHmJcUfby4I6c -HDKrI5lt6B8OD1hAWbHaAJ1Js1vfiwGDqisra5ZvkfJQMY1CDv1orXeM/ZnWzLSp -+PqVXA30ei/NtngXFYlw+BJHnbB18eKw25jT6n72Ls0T9xZscwgseAmSKZsrb6M+ -N0tjZkkueWRbvrFum1i8Hf+VYhCgRkQFcTtEEo/Ulb6GRDXaFLPZzklfQMvjgWel -yfWpv5Qg6knJFGbQyZrJ/jNBAi7aM8XAuNhhjC1oHVyNlIRM1V+1MybvoheREjMY -qcdWjs5YCrg43SWAiEkEGBECAAkFAkV1n5MCGwwACgkQj8lnY/EWmeXXJQCfW3pc -YuXRQYv5d2NC5AfgnvxmjnEAmgPFcYvU/gGprH9Hz/bvXp3KrT7M -=NcNR +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 +fnH5x5wk2Go0Pg== +=lOR0 -----END PGP PUBLIC KEY BLOCK----- .... - From nobody Fri Oct 24 16:45:06 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctTKH1kPYz6DsP7 for ; Fri, 24 Oct 2025 16:45:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctTKH0KMJz3cP2; Fri, 24 Oct 2025 16:45:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761324307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RS5isuzKqB+rCa7Uq7j+UW4gcD10g57cGZjDD35ZDQY=; b=FDlOwPvGQRVbggmvcvC8dZQgADkEl2BiiFUi9wS2GvijFrtYJoTlHMi+lJUplDNm0t1EQy qnDCk8Ckc97cIjKs3YT61fuCRSK0/v569/+QK2r1qdIDgsKFr9ZOeBJ82V62BhaGE/C/eC lmy7dA9H+NSqpMPnIv2OkPvlR3xuRPMQNy7j8VhVm8mnnuoA8Rb9zUoJyAw1Q88rPLwH4Z j5vpyJ2C2bDzigAKLTz2+IHEFyD5qPl3Poza8O2rxsCYcHpDj4QfTZWErKeycI69DTCiKs YK+Syo0gmKD8I+yha5miPOL6EaoNIKB4Wbl4f6jOrRLKNKTQbjYLCXSI9Hg3bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761324307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RS5isuzKqB+rCa7Uq7j+UW4gcD10g57cGZjDD35ZDQY=; b=AYC9UuKVxGdS9ItVluEC26Z2QnCLztVdUkTpTyrTfkmLJlBLGeH4O48GsTCIwFPH8ZUx9D +74DNwXMo3VMzdt3klVVbZUpjUF+50UyMgbOYGOtPwmYbdk28A7YcoTYw7FDE6WNMJZ9Mg kjz+GR1WZQiWnMfmonKGXGx8SiOv0dgxIVjyJ8lWuz8Uc1jW8Ih9//S9ogAwAmiQ0HniVY TGIhtyyPFqxfscbI1VeHE7MTfTJdU0i+YuKI6jvs+Aa+jy+KnXqkv8rnkSyIFj4f3N7vq6 GH8detNtN3AzMgdADNLSadfwBuvklEITUvAyWtovEmmqHYozc5mPoSttkFao/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761324307; a=rsa-sha256; cv=none; b=uPbRylmhPPSw50nWW/P5gOMYOs9P0K22PA+XbORyfhs7AMdBKSvzfU+swSuYi064bAh3IX GEiBsWZUyhlnB37lVyxrJ2o06vKFJ9AwzZC5ukqDznBFksluP0XUrHJP+xog7vYdZjJ5KW 7lBhK7YWzkI/CtxkvMGqhwCVDYrh1VqGo9XL/4a98wrolflkj1cp6HzhZJupLyIM25yRgz mfbhcj4eswBTSA5aZBCPP5ktUjoAGfU5fIjp0XFb4tl8S4o/PnsmPH/njJj9q1v3sJPXI3 6vA9NadzM7wK5lzKW+x5uDj7bYexW5nZkqMBEp/aAkQrfo2j4RAgg/hFyM8P5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctTKG7374z18HY; Fri, 24 Oct 2025 16:45:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59OGj6Ws068112; Fri, 24 Oct 2025 16:45:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59OGj6J9068109; Fri, 24 Oct 2025 16:45:06 GMT (envelope-from git) Date: Fri, 24 Oct 2025 16:45:06 GMT Message-Id: <202510241645.59OGj6J9068109@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Joseph Mingrone Subject: git: abebd24d5b - main - website/community: Update YouTube information List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: abebd24d5bf0bc3fbf13b7b22ea192fb5f5a6576 Auto-Submitted: auto-generated The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/doc/commit/?id=abebd24d5bf0bc3fbf13b7b22ea192fb5f5a6576 commit abebd24d5bf0bc3fbf13b7b22ea192fb5f5a6576 Author: Mark Phillips AuthorDate: 2025-10-24 16:24:14 +0000 Commit: Joseph Mingrone CommitDate: 2025-10-24 16:35:30 +0000 website/community: Update YouTube information Reviewed by: bcr, jrm Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53262 --- website/content/en/community/_index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/community/_index.adoc b/website/content/en/community/_index.adoc index 1089705480..b4a2616b17 100644 --- a/website/content/en/community/_index.adoc +++ b/website/content/en/community/_index.adoc @@ -32,4 +32,4 @@ The https://wiki.freebsd.org/[FreeBSD wiki] contains information about developme == Video Content -On YouTube, we host an official link:https://www.youtube.com/FreeBSDProject[FreeBSD] channel with developer summits and "office hours" events, and a link:https://www.youtube.com/bsdconferences[BSD Conferences] channel with full taped presentations from FreeBSD technical conferences. +On YouTube, we host two official channels. On the main link:https://youtube.com/FreeBSDProject[FreeBSD channel] you'll find technical content, and on the link:https://youtube.com/@FreeBSDMeetings[FreeBSD Meetings] channel you'll find live presentations, conferences, and working group meetings. From nobody Sat Oct 25 04:40:18 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctnBV3Jstz6Dq3x for ; Sat, 25 Oct 2025 04:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctnBV2lRYz46cb; Sat, 25 Oct 2025 04:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761367218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aodH+3I30TLjhrYqf3DdFCq+lfanQHjEpCF/KxlStFM=; b=mTBq9Ynbu1LSKIPIflaJAqvT2p/Vj9PLnNpF5wZ55pGJoP2NWqewzoEgyNOkvUyQPTkfe4 EA/Fr27MHrfBK13eyv+adKsfEtVAQl0vNJi+lIy+iihODlnoo7zzkHFXl0xdOJ4TxoZwUv AHjApPCg0ABQbYj/5pJmhfkgjgo8VdMv0hLLZapv8p0vYw5X3UnEe4pvHm7GSaG7410bWV FPSxkZOCsrchFQ12z1teycVKYCwGjX+A7vqSD0YR3YH8qtAFYUKP3OnLl2jdXnGGyfnZzJ NX4vVXw//4IqttjcA8brkZj3MUZSTLDVxULFveFHXUxv/HgvgtxW91jvaUtpMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761367218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aodH+3I30TLjhrYqf3DdFCq+lfanQHjEpCF/KxlStFM=; b=UW6/3Y8wKBb17nR8aZqKv03EWelv+MEy1mjgB9/iEtxIZV+Z5bPXR1/6fGEhYtcZG6uHLI 2uFSAcUqKyw4DGM1KwFpb3RvWi0/+1ZC2CFcR+LJt41wlMD8hU05vT6UIuV7uraLreJQ2d R7Mu41g35r8KWHvol4tnEyhY0XK4BhzSTkDgTtJq+oTxtRaG2rw1ZAmXDDadgJT9lqYHnA JE3KmK2lZq12mrAcaXKM6agmbepb/1EFL4R3VLcEa/Wlslf3QE9nxlnXIZ7ryAfWw5nLg7 4ruIsJfNruJV06pyVii54cTqPJ8HuY5zuDl9GXs7hlZDTTxcpcQ8aJQZnHitTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761367218; a=rsa-sha256; cv=none; b=bFtgLRg16gIoGdgfqy7yKbOFoNvMb7eo17o5CupIrWPA5ANm0qx/eXnJCkHGXieGI2yXYo dlpILrCvkzBPTw/HywRENkmphDTEsWWztvkrJ3HPobRNCWcPNtuKdReOsYPWwJ6FqcULBO enTUdSOWg+liLkPQzi9oWr6PPDOVnaulaGPB1pC/VNUdUD9dW+sbEyAKZkbEJoYhUwnHhV 2j+AwhXgrpXFFjFuphg0GGAy/a3I1CxYotIkSmRie9tDmLG0QFkyLpA7lNwM8fPxFEz0on ZuhlhYlVXfDxkhNoNJw4HfFR9E2/PTkeYvaM0O3+wmEO+d6vH+w+tWiQewylRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctnBV1RWbzY7n; Sat, 25 Oct 2025 04:40:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59P4eIQF019932; Sat, 25 Oct 2025 04:40:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59P4eI1d019913; Sat, 25 Oct 2025 04:40:18 GMT (envelope-from git) Date: Sat, 25 Oct 2025 04:40:18 GMT Message-Id: <202510250440.59P4eI1d019913@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 2586cdbd36 - main - 15.0: Add checksums for 15.0-BETA3 List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2586cdbd362d07d359b14ff62674d85f1eb5a263 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=2586cdbd362d07d359b14ff62674d85f1eb5a263 commit 2586cdbd362d07d359b14ff62674d85f1eb5a263 Author: Colin Percival AuthorDate: 2025-10-24 20:59:58 +0000 Commit: Colin Percival CommitDate: 2025-10-25 04:40:10 +0000 15.0: Add checksums for 15.0-BETA3 Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- ...CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64-vm.asc | 31 ++++++++++++++++++++++ .../CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64.asc | 29 ++++++++++++++++++++ ...A256-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc | 20 ++++++++++++++ ...FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc | 20 ++++++++++++++ ...256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc | 20 ++++++++++++++ ...6-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc | 20 ++++++++++++++ ...256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc | 20 ++++++++++++++ ...-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc | 20 ++++++++++++++ ...SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc | 20 ++++++++++++++ ....SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc | 31 ++++++++++++++++++++++ ...SUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64.asc | 29 ++++++++++++++++++++ ...SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc | 23 ++++++++++++++++ ...A256-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc | 23 ++++++++++++++++ ...-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc | 20 ++++++++++++++ ....SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc | 27 +++++++++++++++++++ ...SUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64.asc | 27 +++++++++++++++++++ ...CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64-vm.asc | 31 ++++++++++++++++++++++ .../CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64.asc | 29 ++++++++++++++++++++ ...A512-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc | 20 ++++++++++++++ ...FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc | 20 ++++++++++++++ ...512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc | 20 ++++++++++++++ ...2-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc | 20 ++++++++++++++ ...512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc | 20 ++++++++++++++ ...-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc | 20 ++++++++++++++ ...SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc | 20 ++++++++++++++ ....SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc | 31 ++++++++++++++++++++++ ...SUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64.asc | 29 ++++++++++++++++++++ ...SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc | 23 ++++++++++++++++ ...A512-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc | 23 ++++++++++++++++ ...-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc | 20 ++++++++++++++ ....SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc | 27 +++++++++++++++++++ ...SUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64.asc | 27 +++++++++++++++++++ website/content/en/releases/15.0R/signatures.adoc | 6 ++--- 33 files changed, 763 insertions(+), 3 deletions(-) diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64-vm.asc new file mode 100644 index 0000000000..47f7b52702 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64-vm.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-ufs.qcow2.xz) = 6ec31b4bc9b41ef2b18065c248048cfd6ceec4b7de3a290d47cf50b7ca913aae +SHA256 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-ufs.raw.xz) = 3bdfd79b9586e9021902af26d792147357982623a1ddba47ebd51a64b6a1b1cc +SHA256 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-zfs.qcow2.xz) = 958114be8a4675639168f8c7a1a1e7445bb4d513927dc9d890f05b03aac626d7 +SHA256 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-zfs.raw.xz) = 55eac190cd2eda7fc4b400afa5a94021159bf437237b9260bce04031c548fa76 +SHA256 (FreeBSD-15.0-BETA3-amd64-ufs.qcow2.xz) = 1285e75638a83f0a0ea8977d3bba47553604b76ce6bdd50d40b023acff49477c +SHA256 (FreeBSD-15.0-BETA3-amd64-ufs.raw.xz) = f5f30567c7c8d77a3db0510fd2682d3ffa28886acd84c500bc6a3f364e6444ea +SHA256 (FreeBSD-15.0-BETA3-amd64-ufs.vhd.xz) = 39321a1334d7eea3ecc6f7cbd8b687c514360f38ae6edd7f284f25eb1bdc0daf +SHA256 (FreeBSD-15.0-BETA3-amd64-ufs.vmdk.xz) = bfe18f567b7a5e1c48b2b9c3f1ebf2876895729f586d3a336214f4f2422bc645 +SHA256 (FreeBSD-15.0-BETA3-amd64-zfs.qcow2.xz) = cb2ce1f4c877f440760c20c377f4d121148b2605b1940679aeeea1c3febd1798 +SHA256 (FreeBSD-15.0-BETA3-amd64-zfs.raw.xz) = f8c952319b123ebd5fa9ab0c4488fdf26b1f95a96ec09ce063ccec5b5567c6a3 +SHA256 (FreeBSD-15.0-BETA3-amd64-zfs.vhd.xz) = ef32dc26a5331c2fada967e667c7d563e1f418c174e1d864cc643a385b7701f4 +SHA256 (FreeBSD-15.0-BETA3-amd64-zfs.vmdk.xz) = eeed9617a3aa2120c81521f5a6b5921591fd8e59d4821b5c0a081de60e392ebd +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT+NIw//fh+ckfVEaGlAB4XFmRYjDTrplHJfllhNXKYLG33OUHD+REJE9WkIT/EZ +rVKM4mexsBh7qnFio7pjFULw4GQX60xbRpTnj44VvHmqehJI0eCACa/y2F50ZTGV +lCk3/gHF4vFwZBpcJmYx+IPcbPdQm2guG0KlYjAbTkK5c9wihlHM2bGCMd2h/4En +vzHdlL/SfmfvingOBi/VqvZ7Sdk889//Zqm+h8NJTAow5dO1oLOODU9EoxkzsLd+ +33dU+Ag1nchR+2pv/A/Xd68vuvX5VoklDBvbhISAT6la+qN6BGNyDm59NoS1QgUS +GIbRCUuHOUx8OBlJF9P/dgVGaIxOKdIWY51qpQMc3mVZik4n0q1CUzNxNDeqpk/z +Sa4y+qTn8cNK/sALxsMZHFS7pjpDzDI0Kw9Qc4F8dm2uja8hKEy5Z9gtt6tmEWKf +H0mRwqLbeFB2BVEA8RQOe06cxFlfloJttCtVip2I3tz9ZO/zbpo4eRatCz81LHAh +2fzFMyk69w9fXbDQBydUfPdZrHp4D+3jugao71HRrJbWfWZHHf/zpHm+XstmgTrV +/F+66A5MmcBLmbI7moJelIEuQpnmygdfuQB1ZcbriTWENO5QNUD5eqyEyGoSq1D8 +ujS5krqvuJlvzBEW6Fy5Wi+O7MOQyl5utuzIBmDsTfuzbVRw3qY= +=Rqo2 +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64.asc new file mode 100644 index 0000000000..792d26abd2 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-amd64.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-amd64-bootonly.iso) = 83f4219fd77b270e3d136980a56f1df20f792a23c194965c97adc2660de7ccad +SHA256 (FreeBSD-15.0-BETA3-amd64-bootonly.iso.xz) = f86fd552cd4b1b9bb449947da2335ddbb6cb7615066aaae1bd2a4c441c462c46 +SHA256 (FreeBSD-15.0-BETA3-amd64-disc1.iso) = 5df878490f65226241ac19d779bdb34f007246d9b503cf009b2b669710182f04 +SHA256 (FreeBSD-15.0-BETA3-amd64-disc1.iso.xz) = 593f5363a3371a3aa2f44b88e1e14932d807085d0f0a3719255407c1b6de1ec3 +SHA256 (FreeBSD-15.0-BETA3-amd64-dvd1.iso) = 51d46e92e08507235fa5b39c7d202ad74da6829bf07189d759b0a8a744ceee30 +SHA256 (FreeBSD-15.0-BETA3-amd64-dvd1.iso.xz) = cfc70e7b39e03eb30cacd138463f3d9b7ab6b68dd98816246d1419adf649b1db +SHA256 (FreeBSD-15.0-BETA3-amd64-memstick.img) = 6c7be3f1538bc7705185a7ab597bb7955696619c4cd3b69e9bb7980bc4d316c9 +SHA256 (FreeBSD-15.0-BETA3-amd64-memstick.img.xz) = 7cb52357167ad8e563ae4fcee5b070f30c5d0a2938ad6b606bba59fcaaf93a30 +SHA256 (FreeBSD-15.0-BETA3-amd64-mini-memstick.img) = 6f5389c376c4ea962a38387edf51129c2a5347d1bdbadf1582a991236fe15941 +SHA256 (FreeBSD-15.0-BETA3-amd64-mini-memstick.img.xz) = dd1d56223b5527479392050b72ea1cbe2b94c46f649f372e527dadeec0247b7c +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76LgACgkQOJfy4i5l +rT+bHg/+Pjau8g1JG78QzC0Q0PAF0/U+p6/+nCRO4q/YQgvL7xVMVfkgWzFTs2m4 +xlxFsmitR3MDu19+p4/6rW0xZNeZi5vjU9iErJnIP6n84oI/J0uoOkDiEyBWGCOo +5frfdXVsfBYpZxxYwmsosNW+3bGjL2B9BoNugTnyKXnpW3mjggLaez5mVnCZ/Vyq +EuXS1TCfsQ5uffAlqaqgyZ8nXsCYib4O79FxxHXnn3AH9Uk5FpHX9mycEl9HAtFJ +XqUvfMQfAUWHo4e98vfS4Qzqys8pD+5VJiQZfAMTNHC42XMVv+HcLpU0no9GXbH4 +00k4JgD6dgnsvxDyoofLTvvmRqDiAaBeetD1Rhr6NpmlJDsaV2wew8bpgP1dcQUG +YA0+xeIBi5iLepkgeWmLjFZVc1gFxTEMzeDjEv+JEDEkD4wgnq0jdF7lb0Zbr0ls +QZsxZJ1MvCyF8IQcLFKZI4t5V8br0IBw+S6UqKa6vwTpIr2MTrr952zrjuQAIf3M +YVr4hpD8M+BkErAfZMpYkntTt0bXC+Q7zhKs+2ukdt5PO7uuBsUTDPO4TCyQsPfL +07yAXarlLCBfdWa3URVXaslNjKpL4+Mpc9JGrAw0lnaQORzpUclDqKlORTc9VYsn +p8SwdGdOzzAny00h07s9cDWpu/t4xcmkUSxS2aVvXSWdg6ubkuQ= +=L7Kv +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc new file mode 100644 index 0000000000..8ed3e8cba3 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.img.xz) = f084efe2dc3002787a519c4cebd444a71c059dbffd187f247c0aa1886623042e +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT9EoQ/+JiL4HYs+Kpl3/FHeEwqj/uI9Y4QPzHkSarcyOipiW6zfT+YSjQr3ki9U +YTQCreTi3XL946FDoteoneGC9/C42V3FtmOnmVqwwvZ/t/NTwUHZ0RoNnNBmksP8 +xlOqKtu+jJzY7wyjTbsIHBWf/3UuTOCGo8PtxQxF6d4RQENiOXO4zAt9RfHiTq/f +hW6x/CprmRFggj/WL1RCTeIbsUikEvO0s+H44ZeQdM7zFwMUVqO/wNpWZtJyI2iS +3w2pf0O5rJ3LTon02Fy/qt2OB82VtziSNR5ffPRwvevnHxUjxDv8IkR6SZpEawZY +TUyBvlsTeUmI1dQ0lx//NyPsjYE4hgYJj6ZgxQqJMSdtT3mAJawxUtH9nZsmxilr +kmveyVwBnr0K/nP7eCZj0CtC1LMg3X7HNvyPNSMaMn982CTZqkXdibbK0/zOcIp0 +aE5gF7fLGDUuGtJQBwG6VtzJn+P9wiAihLHtH5WHlOJWweNX3YMBPCDLeruqkeXl +XS2IW1+LykHEH2lBKvx5rq4w8uL23HFbPltTUYURuBaKD6rmTUpzHfkNSIyrEJ5O +m/8/u+JOcGMioTPyDYfmydAbbmEhfDZ5StftIl0LXxy7hy8tiXtDTikOgzL9Oh/Z +SU45E+xpXtCI8aQHfFinjs0yOBN+GIy99lBITtBw0hBVfHEmO4Q= +=4A4E +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc new file mode 100644 index 0000000000..7fe216ad29 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.img.xz) = 8f9d99e8493cb9022cc4c313db0d6df722b9741f6137584843980066693cdabc +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT9HSRAAmhDcOPIU92OyYYK0XXocFLxNYJAw2DHxYGax02QTj5dit/VsUAg/uP5W ++IwQ1oj5s+KEnR7PE88XbF/PW1hi07TdBg8/FK7AE/OG6EVS8oDycD2YJYy8gAg+ +PEPa39uJ4nL6u10/r7pRtHo3ayyrUSZK4vI7WukiId/6xDjyoI7FkW6d+tT9Xyg6 +EKFXWql+qWcHfV8YiteEeY2usOZPrBYYdfXs5ZTRxWLk6zKMRzcAohlPAHZR/SKp +CHETEjJPopvmRFh5OEaSgoBnPvhqbdeL8dkd6Ef0KPQOr/bfCPNdLpcqgkSaH2YC +eA/wbstym1LOfk53/r3ua4XIKjjKO6gWzKQd/XOksT+AhBQo3DgPlyTPv/93M1KC +NPpCTHATvmEfc/NVSa9bqgB4+lISGyQK1XmwTBBUOmdXqhoTGpIRMgXKjrAV7qkf +PzTy2zRvdph7bMEvdTl5FIeRrfdyTPLOUvWCSsSut204mNWNdjF107h2HhICbPqM +y8V3arj92ObnTa4Cct4EfL6D1dDyHMavJXmD4m8Sm/IXnK82l76xXG8f3LHy+Gz0 +5YUjCmU1KBjBKL8RLjyCVme/xKra282U9tFuS4QFIoorifZH1HBJvUMfggOEO8Pd +jJ8lGPn7wmkmvaABSig8/h8g7f5P4B263Au1T+KP/loSxomiAWI= +=v3xO +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc new file mode 100644 index 0000000000..c8866ffe2a --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.img.xz) = 9476543ef0315e4239f7a4a28c985c8b2f5935cad1f91100c6016e3c5ad10a1d +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT/jSw//Y8QCfitr5SRrpy6k4lYPNXp1zQPskH49ugeC80uDz4+rtAyBwGZsTtBk +2yLR5XUmTM4mfDCs/wEtBBDr6gtXDWYGRy3tquMjonmfCKosBw9COFdM3cD5hyTy +3BKiPHZaEoiuZnNfu3aA7M8CW2MRpFr2RvJLCthG5vkRTgjPOSgoxeKYeMAh5/LM +I6kpFE/IJbfv6kbLn7oFNANk+54XvgJHMzruIY3lKAA/mB7c+iL3OAgmU2PiH+kY +e68bsXMmLm9YwUbdOd3IcfxspXUgdNBrS4SIWZ/X2cowoA4R/yoU7HciX61R8nMn ++9cOeNKsYpZBHVVVn4XL7sKB6pNH7fAmdO7VcmuNhP7Mt8wkmiiMlLMpFR8xQu37 +H3FEsOPq4d3vmOhJPkyl3WrXeTvNl/AcxeC2NI0K2fwdAhDgs/BZsDEJBZpMxX+A +AhJt/97rlWBFI5sTmO+sBcYToFflsxxXuydiHpWTko9R0hMzBFABSRC8h26mDabn +dqDheJ2dSo16SmBqxZr7sguyzUBEbFakS0Cq19lxbnsf15/5pnGZOmWyt5PRHunX +/lm/ACIfG31zymHEo+9jLXJp925hWaAZkagPiM9N6tq1xe9+M7PUenQFgzfKPio3 +U69x4PWadPvpY9cBLAtCUoEdosqePi4JxBFPh1/6QCgp+bi4MBo= +=0Pc9 +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc new file mode 100644 index 0000000000..4b2b03456b --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.img.xz) = cc628385fa90efe04c9179a5543dbf47951e2c8bb0d6b13c4e090b49f35c35d5 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT+5ww/9Hw4W/jphRtwQao0lroiTAwRk9a0CUVXSw8EzbO/xJEXap988hhoBIyY1 +Q7VwOP8+InCnlPj5f5Ct3QoAm9jklAL0Hb68VVibDWbA0YdI94YrCgn4+ukL5KOk +348iNt9xQqbFsflZiItbnUOnDWSnHo6TMnCqQPO5a+WYKmIXMwJZtX33z5VXXvoo +17vdXgIIMlxYAZL7ueZSP3XjKHG2NuBLtSRK2GODZ3E747G1NK8KrN7xxRgFQeY4 +74jgwjMRE8WpU0c40Gtrt6lGHas7Ejc5wRnDjFSbaFbrAkXJntdQxiIzr09+71L+ +j54LNN2L2enqeLEVDHdzYEAA/ET5vHOo7cey3ezZ3NMFi3KMqQO9C9hhdSXRlQJu +XTGexIqLoMvUvEp2wdwXbMecfbeyBBAa0M1FfjBMhyNbJX0dg2j7BtDlHIILoxyd +DDrbHCm+yRw+dCjg2ZbOnHSpMAZ+5jhK0IdSFT0EiENeUz40ATkXQm40ssmZ1/1g +rbQksHSzLfLHb1UTi1kmrH1W/M8SqShW5ZUu9o/ArqlkI/H1G7KoFKoHgcA1tohN +3wO5XuvSDOkqjdjZHlFiQA3afYZONGo/SIysBQDPFFM9BIvMzb7+lpI92//YPobT +19Jn4yfLCRKfsCwg0wssFHyc702xBrT80nO3lovwiIDRwuA9hh0= +=MdpF +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc new file mode 100644 index 0000000000..353ef8f968 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.img.xz) = 23cca6a7ef5d07c9052c266bceaf4f4962572af9a3f74aa799bbc9060c364a38 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT8MCQ/7BFrDbmR8IkjA7vU8cfgZEsFAMECAyhk7UafXGBhKYAe3Sg7s8v9pAsQM +MeI0f2iBCA8CummTq7h6mp3w07sJSqCiK9kte5Y9ZltEGO7ABC/4VSuRBSi51T8I +fCEDPRa5hnpAXFw9fbqDXK68HWley25gzz3SPcR0/4TgGc99/ZtbTYMvHKtvpt4d +LZ2+NJyn/7P+9i5M3rOS318/XhodKA/50n8mOe0Fv5gCNuFoqpRxOZkMCfi6+0d7 +SjEL1hxh4SoCyzDqC5Kxqb5FhRltxdHPLMDd7/lkFH9w4dvCYU8HrQF7Y9ZScATA +kLdzi+TXj11FpZZMwkufxEyuF9aIe1W38Qp7m432RVTnGvDkt4sBjw3TrcOSOVnZ +c9ewqOYmQU5dDEPeWzLfYFPI4CsZFayZywx7zSjsczAG+6Me70/MLtJosZaB66W8 +CFdCNL24kI44mlaHaorVmHVaF+OW4kH8MuPKaqFBxjDgfXubFsma0wtbaFrqsYoR +GjOAIRi3ZsmlLFfHfe2yq7HPYik19vbEGgfjPCHhmodCxKj7K9nOpFOkmjb00HOb +oxUMaHfSjaq4BGbasbgN6bst9vXyDasvYXFg1Vi5jelLPhSApPR2XnEK7gC8NNmS +90PVYJR624+POfQ0QEw0D4AQ+gRwU4CKV6waB5MlUiirPpha4P0= +=/HVG +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc new file mode 100644 index 0000000000..68b8104113 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.img.xz) = abd5de7a0fbc773ddf0ec0d7103b84d2ba837168b0c357b4da6121d97bbdf684 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT+fSA/9F4CROw7FRPStgncZj1ue/ezkPACryxKXfigFXf3ylrlInxcSOUm6oyeW +Grme6H3OYBq/5rJhHxhUNk8WF/gfrT/wNJ8+a+foS/IWluEpYoPnzDBRCJHFZ9Kp +o4gRB80aGECdh22YpdKh7P7vpDwKDFZdgQla+Q0Ejb6N07rJxPtySp4bSrp2byU8 +AUrP9YK4AAQJh5Hu/FDsL2l4hiseUzRzMBQPFpeFl24tDJedQ1hWAybDYrxpPTXv +rGVR76jPw3zeuGyTT/t/bFCuiF+rzP+ThjAModSJJsKLkPSJ5lPLa4NPZMG4D3C9 +IwDXw7RO2aEVeWaOiKqNnQbmyc5UPbGcyQB/J0wT57Z4rM0mGdavDsip9J9Tt9Mf +4iK+665xa3MC8UTAIlFHa8MUxu3eUYdpfTxj8N/OXw/SFIyewBvWkknrx8ySmfXf +zw/maXRiyNzTZPfNjpOS7J5d7O10ci1K3Rqy9xaB7/W8WzUKdjiM8q8RM59Xs1jW +EUp5pGdRMFjs4wfBVLcg2LwcP/ANbAij4+6QI+iCKrwgixNOkkreH06Kse62f6Sr +JpxGHzZ7v2DliWvWlKg8j7rIzCc7YwlJCwifjMtaoa3Iqt6g/s7m8sRIqfRKu5WZ ++LaXVz2Vo6wXFnhQKM6dV6/XGKN4SzG/eoy5z8CyD4EbCb89lKo= +=m77P +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc new file mode 100644 index 0000000000..42a59ff9f5 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-RPI.img.xz) = 0ce325ab6fe98c2a5a74daa99e35c29cf6c42629d27aeab36a79e5140c072503 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT/Fog/7BZCdXiu8wkbIqmAfDVA/MZlg34ofJGkgZsCWxQSgEeax+iOEuMb4XBc4 +Nqx5B0WjYw2EWaoNmioZS5I4LAKDYr2TE+AGntocEHwzFwCPrdXksV0Ow69+/px5 ++Ly7Rm//RYPI5Y7DuDafksvtktHekVB0zlAUS3NLsKmCZjxSh//TYgNE+73FDgDw +s7gctA3m5fsN5sqAdfIaqOpDIwrcL28Tmz8OfGw7FXzkG1riJZxcANcherzD2wQv +HHs98V1mTeB5qqaRL7CUTv5PsivCK/7/lqKFWH+D4JhPRo/DwfY7LfkEh6sQrFZ3 +6ThQmjGDE+ElY8SGiii9WgvVtV7hNMUJILYCAUe6uESpYQQd6G4D5NSbg3029vOl +3sZNuoEFHbfLMo2Mmim5sgD9B6Asvk+S3FLOx0Bk3o8RJSHujM+JWTQzvJPsEXg1 +ZTSR0EvMI2W/uoYrelDpAV7WWwzUJbLaF8neNDS0wht5OkbZjAVXQz+FkMPVkYqr +2GQesOvOIVX+IewceOZ8iso4Z9jnnHxcS2Atw9oCIvT0uiXh0zc+mXX6WvC3/m7B +WdB3d1SbaQmbEMzlXCmkEIOyDMXj5MHEe5+U7unbfWAT1QgHf0upoZ5jv2UMixRD +57edzmiUBWZ4QSgVdKjCJS8NwuzJ03Vax6pKLi9JYm6nlFDyma8= +=2omG +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc new file mode 100644 index 0000000000..230f188376 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-ufs.qcow2.xz) = 77db24a651d6c5bda99a7b71ef650e5ed3521211e85674c01293c463bc924494 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-ufs.raw.xz) = 5aa4ec612044c471b52ea7861cc99b5f2f1e58e3ec8982b1f66e296d2083cc37 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-zfs.qcow2.xz) = c6e6c906d8dacb6a0b67159f5559471e844dc7b9245e13b706af11c9e1561d0d +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-zfs.raw.xz) = f2d9f241c3ebb163e1976351ec82d14695a42a94a78ff97916d3bc6f7db0afe2 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.qcow2.xz) = 4e4f9083932fd51dfa867837b55fd54f4b00f81d798e285f9e01a30327edbdcd +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.raw.xz) = 2459a79637ff7df7a07a7fd99351e26e763f3530edf3aae25efa9765918ff439 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.vhd.xz) = 5bcc29a51edbb7ea837cfb8402ded8c58e2d17e3d8ec8a962d9465ee60e63d0e +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.vmdk.xz) = 44e663717af5bfd09796fa6018a54f4850cd4baef296476be9e949132c329820 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.qcow2.xz) = ea39ad6a5d45d76c4570f786c7e3381f3cbd89457271f74f6945dc6ee2901f83 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.raw.xz) = 06a463db540bb1832a2ae79a9930cd93ca5bcb6a304a4a6babd51c93f1b88dd6 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.vhd.xz) = cf4bb67e1ab8c87e26920ee45deec10f01a5775b9175a0e1f8a62e6ad9dc5256 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.vmdk.xz) = f10f3b464ce3ed1dc86b22a4eb298c27153990c1e62366762cf990a21c1ec33c +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT8xCRAAm3veoGVl9JTP8OYgs2hROeXkwKaJUqOaU7pH42bYG9FXDCDWAtWrDeV4 +JhAZ3O5T4cL5KWfCbzPT/MMIlb+9D9NBoO8JF6jLshbjsKk/h9OODsIYR91CYmpl +2oikxUsFGa87Pu1y33ysKiCviRizC0OKnEADSiCAdUjoTM3w7uOazqc/yj6eC8kw +ME4VsatpGcBo2muCpf5He2QkE6g4IAHvFPCwWz6/lAqZoX5z90u40rSqW7sydcYL +KyC1skyKVdUiG41imkdvkBX3HTWobfVVhqCSgskQBBSRBsDXDZ4r3TECjX+4W8kv +qqEd8YDJnHDK99xHd3a/FkPa0szJoAstP37jGSpKFfOIcth8mVrqX7knFVg/I8lv +K988OoNnD+Co3w8QIn1GfKd+L6z6Ivk5BZ17kBGKTsToKwV08DqzSKHANK7LcAWa +acQ93ymiQXnAdHqFM2PxzvR/yAXBlTp47X/Xucx5llBhy89aDuYi1W6s8h6ebAI8 +YI20hjZiTXQPqipL4e2aWleQFsRQs+XmMG6ItPLgMb7XFT1OL8+qYCCNgG5IP449 ++fv+xsub1dJgOdq/UrJRTrdg5waXqNCRJSACnsmUuNIjN6kj7Wjut4vPOEKq5STl +DrHEOorNyF7oMSsoI9vqwU39sPhFd0lCRh3P4eH5NZi1/9hLYf8= +=fUGO +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64.asc new file mode 100644 index 0000000000..4d1e2a4f9f --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-arm64-aarch64.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-bootonly.iso) = 980fee4ff07cb03c08a182ca46e35f369b137ab43061a5707ea48727854e579e +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-bootonly.iso.xz) = 6d67c9cf3c01def2cccaeca90289ea01067843048691a4f67536bc1871376bcc +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-disc1.iso) = 9e9796ae2744cac7574a44c2a955660db4dd8dc966e132d4a5778d9685679657 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-disc1.iso.xz) = 1d4123c8ae8a122d58ba582090c8809aa1686a70b3c9949a23e29bc0ddae4cb8 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-dvd1.iso) = b30fdc19c372fcc42842e31b8e9c2f63953baf7676b824722be0c32d07f4fe43 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-dvd1.iso.xz) = 15cf3613f2126e513c6b7e74b26fe75f004f6d65f8cfd61f833b6d1c5ae8782c +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-memstick.img) = 0bc300bab1cd24638e5189bb7ad950f81c56705486f43f279c62c580964162e5 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-memstick.img.xz) = 39455f983cb1a31f15b4c237a9c077787ec57fdfade48206d9e1737e71d5d02e +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-mini-memstick.img) = cf57b776bfc9ae273e70b3cc76c22fec4a9ef1d03208a9c744bf909e1df36df1 +SHA256 (FreeBSD-15.0-BETA3-arm64-aarch64-mini-memstick.img.xz) = 016cfff548178b3d0f3a017e46102bb69e0364f7de3c32e1c7ef6988cee583b7 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L0ACgkQOJfy4i5l +rT/UUg/+JLIYV70WH+v9ewQ3aSdet8VLm5ftlcaxtzex476eqsPR1Wp6HwSpKHPz +LNJMz44G1oigP/Ua7uyHTp91KSPWp7/PXu3gA2c3Np5B6LjU5DX8MtmKZ1AXfvpd +CWjYezNv23xl2212ZnUmxjzaQ4XAm5eAbNrbBvdgsFnNCxjMQlkVW7uXIB9vZ789 +P567vfa0vRLTaO6nBNSFxIq0LHgnhCsXRQGXXMHBH9ol5e9E1EQ4V1BLY+e22evD +zm+5n4D/S7zKEV/Q0kb+PyE7zkR+SDseaBNlGxJA5INDj3/2qp3oeA9J+TjABMh9 +MEomPXUIHLkRpM/v+0HhYd8mzpPMep9QJs4f1r/iI4l8fjUfUMroZair8fulucCP +Xxgagi881l0/4LIZRb/JqmcFEj4Fw+tggTPYjY6rodoevJqR6A6JiwlpIBrmxftx +cnsz9yLZ2mZ7qdfufwgM7S9fy9ZF2/U1JZa/bEoMv+YZffeWpaoVU3t2uYzS6Xj7 +2Z4yVPg5gJkOmb3uSrKfrmBFHGAxviA+kUMXFWMFfkwJeEOOnmnxElKYJkbRor8W +6ONlIGfjiAMfSV3fHZMG5eNsMKtCgQ6niSMMKM6ueafaJOAU7L3tz2tzyyCjeNyT +gjB+TSiuRxl2SpeqtAjJl8QrEbMZZAoHXiXi8nCzGSJ0B7mAkhY= +=SGc0 +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc new file mode 100644 index 0000000000..50af3c96bb --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64-bootonly.iso) = 4af89e8cad2ddf9be6cabdd066dbc1b48f251145022d8e7504ef3583d8c1137e +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64-bootonly.iso.xz) = b00ab1619e2f628366435d6331302c9ad97615263ffcef2ec0a345ee82be641e +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64-disc1.iso) = 3b09807b9df94c455f41bea9b4ad0174be7b835bd910927adbb0c13b445d0898 +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64-disc1.iso.xz) = ca82b56733b87d38d7c4d2b695a8491ab9241efb1ff1c52eb6e244e9960f8656 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT8orw/9GiIZge4sMD1ujguZaHqWGxiO/Un4QnAuyNVgsAu0q8r4YxOv0SyJXWum +95IbKvrh3CRnXO2/YTggXmSIywFORwGS90KQaoxwUJrO8P0QGddfUoIpRy6FWW6I +cJrf4N/Qmz2pN6PXG/pe1SP3sxV4hvI8GB9JSRTGVjwCJtDzpzS9YLJ5O1PJdAW/ +vJo8Lt689xXKQ1+91kEGCx/KuRj7qz2ZXj9LHQijeW9MeXFqQEfdXskF7BCVyS1U +mEMwlOsaQrqWKpxjkeSP/BKJlY0coODkMi99HwagFhWPz7TbdqZBwoZxo1Ragm0/ +5GTRiehFUGlbWgRrr9bIkSD00y5QKO7IK4a1MVWFSt+EZpudsh6XhZTR63Kl7tza +fjNKfIHWgz28dRnGeEF1srcQtmTHTcFpuJ9O7iYkDHT8UfzuiWbFd25OSGavU8u3 +F8rOflG0Y0UDUwm8UEvPZoR/RF+ts1dP74FWMHkf4tk1Gbih9YmAx2ubblqSSdz7 +ZFEe2NFJ62ko0wMFTZJ244m44fIk6XJT8HapPYw1SBIIiYDkeQ2REiCBBdgXtIkh +M89vowSUVpG0CMIJLJfxI1bHs3Vlg9aOzMjQLXLtJntn3s8pwm7TsuONk6PwPc7v +2mG7Qbdp3VLarwEOKHDbM03BfLiZzAmRyzSlbh2PiSrMc4mvyhM= +=/98c +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc new file mode 100644 index 0000000000..393923005b --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-bootonly.iso) = 97b2e4f6b8699a71b392d0ba973831fe3dc5415308494a7dbe8214cf509d32de +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-bootonly.iso.xz) = 1d5f6855e007416d9e83003d1676a89feb2c0d5090e9b082f7c45801d1e2ad55 +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-disc1.iso) = 2b35b062e5b5db23eac5c322eda92c0079d56a84ebf225422cd6a8cfae111fea +SHA256 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-disc1.iso.xz) = ade00bdcd4491d6d125fa139e3a5955da666b455225722788bbedb029cc962a7 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT8fXRAAid7hfTdD3reNR2i1BzxsXADokDvGK2yAtPBe16t6IaapOZtlsaL52IQr +034Zg084Mw7sE0gwa8wunM3QqyJmkEL44MnFl6aubw7wByNl1ccuXHQEcd4516LQ +qPgt/xZsg4lu8EDo7Yu0kpTopkBayjBm4HBNu9PtBI1EKUc//v59yVTpkI5syzHb +RLncXfdbyPENLcLcd8yboP6DhpPLK2gxzGeygfGbcF7SjVnZdMru4GyuwDNPf3+t +/cymJPIBOqP7WNekHCIDLJTy/flwkIv/L+QKFsbEEzXP4h8LEWk/554tg0pNjcjh +uQx8Ik5px3oDEKfhydGTY6Bm0ZPpl3ii9IdkX75kYgVCLncjlAfWDrC8iFnvrBf5 +mblyIDK4EJfneQ3bkm05I+Lb965nOxOx5x19GZdJ6rp7tC8GW+1f05128OngFe8V +3LnL4LiM1nzTLtop1fcD7y4JzqS97OwDlPEyCB4X01sJKqWdgLkOubMaTeVDfqxl +KMXZQdLClGIS96dNSp8MgeGhDjIRRcEFAnGOOs1VuGUaX4IFNYMdNbLQ/1MuexGU +W2l9xEEDHOuemTUX8gAa5YQp7N02aOu9HreTq1+Kt+XUu3F3VO2dOdRIpz6Y3PFA +YR5LetH/DnN7wGap9+sNE26cEA+tZqnJkAj4XvE2rRI67mDTw4c= +=j54U +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc new file mode 100644 index 0000000000..e6b69c2e59 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.img.xz) = 9199d5a2055957bade2786687bc8a5821831c641781feaace6e55d880cf9bec7 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT8f8A/7BIUUCGz3FOIm3OmZGWFoNFrM7r3yguD57erf1K6eXqJlNhs+AzREzsmD +/UKZznYwaZv/TwOXLuZojCbHuzp8ciZ734xcqym2DeluOFYrUKBcWY6rGaKkhzen +xJvyQV8Pz7T262EkEl6WcTt55utHOzIBrHJ4usfLyG4d3dzHTR2gbb9HazXJgHFX +rVxdx1YHdtprwo4JYKR0rx8a6axZD7E8iy56sm65pRIw4WRdUs2zMXI20A3jTnlB +XVqHV8peLu4Ub91cf8L3uw16fYdKj3Sw/4CBJ4hFo6OAOq8VUkf4xrpm/dWY/+rF +PGFdkTvfO7BxYaaGj/zEEnASDRPNQ0YfnzAPmNd8+VfUzu+87IyWr7Lc5Lz9he2Q +ycIBL6vRZmSNU2uIupwzrbc6E8ynD0rtcDr4/VLrT8l35S1XxtDaDyK8f9CV1sBs +PyEt268HCJ2Dsk9NhC18RP8o7lE+b73oWTVghyWRNvMx1fx5dqVWwI9XB1XRuDHx +E8eLafEzkoHVQY7mDYzLRHT1D651hT11Gvvw8ZwIqPorRPhAIjgmDL8GUuXB7UOt +HhYRzcNsfWHJeEqrbf3B76ZnUnE76YPtUZNdniU7bPM1Dnm5e1+J/TdeKYQ6BTGk +QKfHSrlfWOZF8De1pxiOYsLPOUrBST3R8JoYSt7C937FFaprLqw= +=7C+z +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc new file mode 100644 index 0000000000..cead9cd849 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc @@ -0,0 +1,27 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.qcow2.xz) = 132e912b0a9e509072a3eed811824567dfaaf55fb85825122a997af6e75d3b49 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.raw.xz) = abcd193e3bcdf7d4980653c690ac66db0793e414c48729e3f6e0e4a24b3e6281 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.vhd.xz) = 5fbfe1ef4cb1e8ed05eed88039b99a1c3177f20da8905a5c0c7e603b4e34d5fb +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.vmdk.xz) = 3dcd913d3cebdb3576858190937a77363098f8f995e0415da80678037b649a60 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.qcow2.xz) = e8ffd296f3d8afe6479aa25e034a0b2dd04716cf6e135d8ba5ce220f8131a243 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.raw.xz) = 5c78f7ce30d0f020c849ca5fa1c52ee14380b054ffabe82f79d820a7822a2e97 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.vhd.xz) = 6e009dc8900bae3b6970a6e779dc72c688ac214f4a09926036f055beeac8e314 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.vmdk.xz) = e112d09d29be8ce6f83b3519959bf13e121139f64892536b1656b11503810959 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT9gtg//dr5+JubGRCY5uvZXxCWD8KgQ3IJvk2XzQgCu1itE+KGoiv2iKXhMA2so +6rXD74feTFS8hJJrnnHAeN8t1DN4S5z6cBneTEitnvAy5FUeus2CsRLU3TY3yb0W +UvG7+i5IJJPVeCwIxPD8MO7Bw06c/aN6Eqd4R50XERshiyh6awmWON/a8qKtcy0n +f+6XFgS8e/jJpkuJh170uL/RytW9N7ZoISVEjfUCEL6T3eZcsIPeY9yObWCom0kC +ufkLVGVYZ7HeyPOKB1WSSoJbg+W9vbNXb1Injpe1bme3LBbQex3OEDn7iY7Ubh7G +ZC8j7DjHoviTnC/+5u+5n5Ty0eF87yRVHE+JOA2preUcvGmP2DrKqQ1lC7Qzg45E +cEHA1hZKGNr4ac30EJn9EMUjdqTgEmK76p3ppsFuXIzir+7xwyGlAOvhww566RM1 +fSOk/R6D8SDR5C3teyiro7iyod4Oq4V1ZGSOBmY0ny7RZ5xZ9qbbTaaWs0E44rw+ +mXJR5k64dTnDrEJ8rif/q3J72miGcO4IH9JjZzfVE18otgBViGJmVxotaTc1DkcZ +RKFUDSxvBvJGO2vuacKBEEArjkmOQ+84UqysQVZAQxe9v5lWhC89FyZGuKTlF6xt +WzWwZAhCVxl35I3ek5h5m+YeGycB/K+DyEpKma9ej+BXE9YsURY= +=sMu6 +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64.asc new file mode 100644 index 0000000000..357ba449d0 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA256-FreeBSD-15.0-BETA3-riscv-riscv64.asc @@ -0,0 +1,27 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-bootonly.iso) = 4db47780876740679d190c6911e15073835c7667ae76593cc79d1d5889f71406 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-bootonly.iso.xz) = 392fa30ce9595f859757b8742b3240ea3e68a2913fafdce49ffcd3dc3400d47e +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-disc1.iso) = 06c356c6131a9201fe9a3755e6d4c54de540718398b721afb864a3369ac4b704 +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-disc1.iso.xz) = 97d5bc8aa5ab0dc3f4d587f79ba83822d4263e199e5f284067524ad097858cec +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-memstick.img) = 527c361e785ea270da5a9dc7d923548f5ff12e09433f1d321ae03b13d9ce5d7b +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-memstick.img.xz) = d3280f158d3b9b9237ffca5a0348c568e99864f048e935143936f4c6159ece0d +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-mini-memstick.img) = 4f52fd0f4c7e294697e1d138effc0531fc5a39852b694815b0b8f1aaa621514d +SHA256 (FreeBSD-15.0-BETA3-riscv-riscv64-mini-memstick.img.xz) = 129cf7511a2c21452259a10ef1bb84605971c6c9757fccb22a67701143c594af +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT80FA/+KYj5MijK/Ydw4ErRlJyVVbyKkQ44bjL9Y9Q3eBHExXUsJJj0DFDKRQos +ddjdLCIlIwj/LEnKjLOqVFPWrQkuqoV8KEcv3mgLxazByz2wOp/a81zCPglwpQp2 +P6/35yl82BCjPRFVDuiRPrMppc4Vd/MOIhEjA3qy/NM1C1KnFsVLyldpRIImZDaO +nc07ctGaSjnUX87OFsZme1tLyTYANUAQLYG/zQkkihiU2pefAl8zyN/9yxwbhHRN +vSBciUyYbm9Td9Vcxg+CO1tIQnPhYO0wiGQoig4/IhTvSG1RPLfqddvC4e3xEi/m +/WrSBR4mm/4sUh9OozULoxiU+klASujTtK3fGheJgCKXRq78wlmOkRE3U7L+s7gI +hXm4q7TFs4DllRyJOziW6loJ71/AmFeXGlubgjod7Epi/bvoo6KFf2qNpJHgR+26 +dEZ6Wpnv31Nnfyhy02z5g247SIhVTWgiHMSgKc9x7ip3L4L3MYOhP8OFGgzTODrC +YNrjW45XEuiJh4XpCwYj7Jw9y5tawHfxlfkRYAowgeTexvIU340Dzh98bLH+MHfC +T8KJxI5zVpQPFpuSHaeCR5ErORjmHtKu9iBvN+Y/ZXqzcbqqAjgjhdhsOknCRjLy +Vku6tW6dYajVw8NB2rW9LhlTzyPTCdXGrGcgKvBWFV6dCMaPWrc= +=t2mt +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64-vm.asc new file mode 100644 index 0000000000..4a4801f634 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64-vm.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-ufs.qcow2.xz) = 0bacc7bf4e7623aec7733ab39eade4faabadaa0df868751e47d7ba98724c3b9dce321ef4bff11646c1435fc9fbb00edc392c674564d3a7570bf648185d95ec84 +SHA512 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-ufs.raw.xz) = 6ff0233bba0a92758bdd0ea8ee8ce86884cf6219ef625189e34152392579912792bee192694205a028c9d5948f3c5fd441c8c4e06266869dd1a90c9a16c0147d +SHA512 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-zfs.qcow2.xz) = c06ec36a05764d3df3f1cbb526e7c6a7d486a6fc08f81e92c2559a3e8fc335a90421038e50fa7716171d5358af2f775c4e599516a95f4b21fe5901591c88e9ed +SHA512 (FreeBSD-15.0-BETA3-amd64-BASIC-CLOUDINIT-zfs.raw.xz) = 9131e7714eaff45c0fd118663f46f60f19f4c095aa8110a6d44a60a347669ef810b46f490aa7c5b40debe7782e80e14381a9b24f9008cca1e9c52b9960b82479 +SHA512 (FreeBSD-15.0-BETA3-amd64-ufs.qcow2.xz) = bedf48bbb635686bd3cba23a9e14f5153b2026a076ffb4bb4d20c9d5c468bb776dfef6181fb21b07069ce07dff14d73fa53fd4ef004db8f7fb10247b3662931e +SHA512 (FreeBSD-15.0-BETA3-amd64-ufs.raw.xz) = 1fa4ba1d4588ceaae546434ab804fb39485322ef5abbb26e19fedc44ba817527ef2af8aa1b6ec3a983915eb117abd7b6d9692ad42e7e548e0424369a8563eb41 +SHA512 (FreeBSD-15.0-BETA3-amd64-ufs.vhd.xz) = 9b2e54a42170ed39d1297cfe58ac1cc008ccaf32c21798483fb7959603346edef278f2e20d6e2273784d92dd56330efe6895c18d17bd121b42f7fbc8da11ae6c +SHA512 (FreeBSD-15.0-BETA3-amd64-ufs.vmdk.xz) = 95ea0aa5caff277d664b8627080f426de9aa681e0594856994b18d1c8099748a2330070d46100d2f59f96d657dce395306847146a6801c6ba97926b013114761 +SHA512 (FreeBSD-15.0-BETA3-amd64-zfs.qcow2.xz) = 03e517689a4505d8d96976645f3f6fcd4f57426626c5e5fd24b38ce510ffde4aee41383acaa535a2abdec44c5449f76a2ee0d7ac18706e9b9d8780af92772a1d +SHA512 (FreeBSD-15.0-BETA3-amd64-zfs.raw.xz) = c847934b15f71e381f58a713ad9b5225856b805dcf15bde841d57507840157a4daa97cf2e43931fc538f01980141383ae23609600a56939237bea75db8f39c8a +SHA512 (FreeBSD-15.0-BETA3-amd64-zfs.vhd.xz) = bf8bec4bbe262bc7952c1a46b06d160c0bf27d9e20b888279ff0ec7ccb953a78eedb11159dcdb5dbe6ecb602384ef38ac0f6e33bbedb8b78c9d88fec9426decf +SHA512 (FreeBSD-15.0-BETA3-amd64-zfs.vmdk.xz) = 034609853dac4b7acf8960e6c20ce5eb9be38e702b67a026765452a26dd9972321ee288104b21fb018a8378002d3b3b08ef18aaab1dba4af3911d5ad30eb2ae5 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT/dxQ/+NX3BYslYZ/0zNRaVNbSJHx+FZUv9YiEXxKUHPwQ0oC/KswPqeapS7a+1 +Rq640Gg+4+Q+A5eoOsOghrKV5jYLcWnvVk0cRk/W7NZ//rxv94xVF3mNOxTTtrh0 +843nBM2o59jfLbD4OUnGt1i8STjKa/nKB8dalroHZv9vCwXZPcprJwlYe9Agnvru +XDB0wO2CQ2bPKXi1aUNI7TbmU2yOWuogurGeKxrOCwRVKp9HN/V3q1zRWF9RJkH4 +ZE7kUNdrmIX62p/KRRhogl1plcXhdqJntlR99Ttwy2r5nKrhUsiTQ0YNU6f5JkMq +zjA8DhZWID9n/tBX3HXdI1sANpPsW4ClFFhi0RziRCVJKswhlz4TbKI+1xQGLt0x +IKsvjGrlTEdBti8Vh26ngD8ljrhUeh0xxruCtK9twQ/QMJXw6SQJMASoVq0gsibG +LDbFUJnFXBoOUtRpdqQQr+E1VtO2xfT6dwzlSFnBVCEBHSosMaNXH0cIPd565D+9 +dheVqgIb9CqLK8qKChAIIub3DGIt5z4svK45JJJ63yUUr4HkpQwcuVNRRBe/jHPw +s/NiqNqkc/DW0eSlV2moklrQQ558xu5p30H5KffLVu//rwYOKzh5B43GjTsSc0nU +kWoFpjyTyKDT+hfqlzVxG2XspPb3TV/QG7+1AeATOjex3cazUA8= +=d9CD +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64.asc new file mode 100644 index 0000000000..569d19a260 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-amd64.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-amd64-bootonly.iso) = 95cb98c49318cee0c646c34fe1a78a5ce7e3428a8d0d6ceb7e58d2db0bba8d5a1c33ece304eadb67d8ffa277543dbb101a72d19460e60bd6ae7f47d19e0e771b +SHA512 (FreeBSD-15.0-BETA3-amd64-bootonly.iso.xz) = 43cdf540110ce3bf62477d9eca30705195bc0256ea09d29533004b7b2f4ff09b8a84a3156e54ca795dd38e2dd0086d9af8912191d84771921d83997ab9fddc19 +SHA512 (FreeBSD-15.0-BETA3-amd64-disc1.iso) = 2bebb1a44bc70ec4ab1b5c4646d8a7886d9d3a005cccd68e19ba0162f7278e3cc91c6b5b2de8249eef6ca666c0de9e147f8ec3608b9098682667df5dd1220a30 +SHA512 (FreeBSD-15.0-BETA3-amd64-disc1.iso.xz) = a14e5f3ca6f7b010894f37c6ecdca9e4ae75e79a43ca1c40173fb97cf5535816f39fff5cb5d7a6368415d8f01a07e7ea6518c17c57a12dd4798c3ce7d6fce1ef +SHA512 (FreeBSD-15.0-BETA3-amd64-dvd1.iso) = eb8c6e7c5172874e703f1ed10cc4519630c7bbda897a64e1d5520eb3c1267aba92e702e18e5afa441a3dc8c2f2d0266bcda1ae7c353fe2af726382b64f09f191 +SHA512 (FreeBSD-15.0-BETA3-amd64-dvd1.iso.xz) = 1a5e50b18d7d801d62d7f892090a6c211099c35f5151a37f428a4b9b072bd46feb8746a86a65d9da4230bd859ef57855f5235757e126e1f558124a61aec62fcb +SHA512 (FreeBSD-15.0-BETA3-amd64-memstick.img) = 8e0d0c5f65f710748054f339c796b3da8a2b618ab6644c2b54fce6e80383d9120cde943490c49980ce6c5fdf9ef3bb705a09ada0b83a5021a223744976dd46fd +SHA512 (FreeBSD-15.0-BETA3-amd64-memstick.img.xz) = a3036e34d90c4cea21d2fff469bf77ee25471406672a1fa435e15825721754dfbf255412be967ef8601023349da8647ae78a9e66ad35c0b9a2e47eb9dd4e85b4 +SHA512 (FreeBSD-15.0-BETA3-amd64-mini-memstick.img) = 7992778fb3f9dcff595a9370e1991fefbfd291d5f5fb0075e30274a8d23c06f165796ccdbe611793caef5b96a46146b1f678abe42061deab1cbadd9d24a0155e +SHA512 (FreeBSD-15.0-BETA3-amd64-mini-memstick.img.xz) = 7140ee24f2115d4a9d099cc092968cce8fcede623e1ba2723b8ffad8534c977c3f609232db4f068b72aa1122b77ae9387ea10b7546a9f613e8e18674162b53c6 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L4ACgkQOJfy4i5l +rT+2mw/+PAB65NSp8oWul5iBdjR5Ef4BFdnD3dxb2PFKzpbNO8O/idGke/DUi7/j +424D3XJPrOOGdOe5n2FPqbFqt4C4rsCpALuFH87uCJcLZoZ0nL1iuuK3ngMQeLrt +5Cr62LrYqZiw9ZixtwLdPMb+TsLPRuhSzuciO6J0Bu+2ARvOacu3zMJ9xVV3OtEI +5/PZtKLFUMlqxwHk4HfmzUxCeddFXIgeCGpah/j4jb8bCtt4WO8aUNqk6HqlcGU7 +ksxA/c9lF1XVb/L6ypoxd4k1PJWk30ySAU8h1DM7rvG+/a371cZDIZEjT8pFidWj +yQE0dxBAAjc2LaaSe45LQnSZTZVk0hav/letunF8Ku0fxTpnwdizO/E31F9xfH9f +ffmtDGWei1uERhLXojhUot6mbXnRI1NfzNvqGskF3LXiYO5lKDkdt8WVKeeP6k9V +ZN338xaPQnoYk1PwUMGnbPR50iynmHhxCa/gHdyp4DOdFwxXctpHbflnX/gpxOXK +he4NUxGpW08Ac7kU1AKD96mOmgRbV/Cg4EvvYSYO0gGCUfKiozKWVJ8Kz0zg9X6D +fDPO1wxy1cT0BQ1rvnbmm8nHjc339hgTR+6p2uYmHW2DWBcz3idCfuqYhRxgbVzB +JfIY6KCm/zzrKt5SiXS5MXimuOeymtD51cL8McsH6T+wJnXpTJw= +=XAGJ +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc new file mode 100644 index 0000000000..baa6af31cc --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm-armv7-GENERICSD.img.xz) = 12c68b435d68030bdf1f37942f8139a1c6c3ed4f1e37c66b0ceaa1b07b4a8b755b1b82dbe4fae85fbc34ffd7a1c03ac9532cddbccb262559b1e63fb6c0aceb67 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT/Kjg/9FJCGKrQ0ggSdo6/S5ZK/zXFLSemLE6JAmosyooOUvW2urkIF6ErCz2Uo +jDdSmAoVpeibALZKmHJbfwqbMWUgV7BTDU/aTaIhlnipYU6EWMbJWwq5ILjrzpY+ +vaVahUWfquQMBSZnAMRSrtckKuObNUY/T5tdwZia7bjQTTXv1E7Zx1Dxsua6P5lL +B4RSkrWsh11rfAOSzN03tQUKq3Qv7OFV7RPiZhEvAvCEomAvqZpXSLC2AL3q/uz3 +K6zKC9jJbaIDUxg0uTNZHZw091rB7LY5D2PCImaTtj4mVrQ1ub7GvOpVyNU5J9np +yXjxjxPP8GX3GmWRtSlA4Wz/ZnOlUKl1EMDX20QaqS7kjI8c66/XI6mRU3K2Irvr +GX8Q00kME3g7zey8fo2aBN8QOSnpzFrlcRHW+JQujfDnX/uLdWSC+E8dH6WspPbu +mdewLkp5IX6TitrRPxmvcJxS7qZFMeBApeOJR9j7++xqTMQhb34c3MTeneTD38yX +4lUWalitO9GjiEEeyWfdM1jtlkLUCM9UStHZQh2Z3oIAneGnK9Y7rBUZYR9Sgj9Z +inF5kJJ001Wrn1QVfr0k0UL92VMj9WV9iVcztCGetZCV7wUMYRq75PEXzJ50qrgc +W54y2WVUCMxcqlpKPitdm9I1OEnQpLrMX8iy/XbxLvXfdZ3R3tI= +=xn4y +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc new file mode 100644 index 0000000000..409d535b1a --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-PINE64-LTS.img.xz) = 13f0958e7001a47ab16eb780618adef15097c8c4643e7a8fa0f5387d7ed0bf99d60563bafdfeefadddcdac4ff4b524fc4ef91233e69afd3bd328346eb446571f +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT8Rbg/9F0rLrl3pRk0p8yLt/mwsNyfTYZ4T4IBZK9b3ZvEPnhS/fJursiOHBkHN +hgnQVj5wg7H4ELsaVQmyHCGKO6M7yt7kryGwyuVIBwsHfDJqZh77rB3AyHWQKnaW +EV7Q7mV94aiS796v4RCM6S5pAGrDQDZF0WayEjQpDb7d+XGZooZwx8R5BfS6b3+g +V/4RRgaGxrSKoKeZ//03HV0/PaJJzIGeYs76LDx441jp4Uhjzu+2Hh/b71ptt8HK +rUWAr4tUkX+rtAjaWaOWgr08wsUTiJWLpHFn1M5bVHrzc1oHxBDkDvOG+amAtnKU +MuT1+wRKRngpZcC8qAJegF40w9OaHVelVEOM93JD24rbXXL0cWggAEtU753Oc1QT +E7yL0CU3nzXgKpcUBl57PVNIP2eSB7fFaCIAkvxdHsQXtBFgYAN9IRjGgwLEiQFj +DB8LpDyU8ajBN5oHRv5nktXLCs1OTKmA8fTgjUCdkUd76HQOHfVBxL+zYzmd2FMl +/lmx5H70AX53AaRMsS/fmVEq/abr4O4W21/pujPOIXJkI5fZVXMICPj0EQilYLrk +2JgRqQba5fvs84A+bFdpXHq/oSMi/Itg1cg4bC4cyLnMmEjdzdGtdDAgXlKxiu0B +lcA5uU+t8wuitA9JO8ydH1A24/Bq/YsXl0eKh73rRR1d4WLhNFw= +=I287 +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc new file mode 100644 index 0000000000..87afbe3689 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-PINE64.img.xz) = 99eba76b0bbcffc1b7f7e231ce5eed878d83cd4d252fca607383f77ee1b70c46b739604fa5466a3f8d0a28fe1be18283c7a631c9cb534586c5a6a55683e88ff4 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT9dEg//ZQcNKrl9/cu6NUl2RDPexQcEflldypVVz8bDsNSWS12OJsD5ZSEW8Im4 +4PTZxjBfJjQYbipn4NpXCJQEg+rnEHDYrFsp857PJ3lRySSjyD5ukbX6qxhll4s4 +2xMCp6ECCTWsZzDmMYkKhSTt1jw+VYJRxJaUsGwiAhEtxP1Sl2tlRPE1ZW3Prwsh +ygQUKTXJGExKL5SiFM2xAVQtDSGD3eCw8PJ6/+yJ8owLfEJelMtoxoRqjQp7fflM +LVIe3UYR2rltKyoaMZLDeHofFP9ygfQi1TFYSGgEWaIm4rrZAlqOeFVBprvchQGE +rYXiVGv6DfmOq17juvwjnuS3PCOJuVe3yrg4BTz6tP/HLpFuViz1zwIlpifHk+8l +vOjkN2OoorrwoJ9WftzqanBJvYpbX+aUwtzivHZr6L6zXPWwhAHHiH8aJxx+dbUH +LaFUjka0JRUWQOuxm2sq/w+l1NxYTg5Vioy/vSm1OWi9BxK2GGMxhFcDX5BTaHA0 +LybFQj5UnjyB8dtCAOUNU2Xxnzpd9eLljzppovFXYFZr3KE3kOi9LJfxlX5UOAgk +8RSDpQ4P/s/zrmwLaSiFNk9cEAzFAVFpKG+DYs4FIls0ombM3c1ntDorfl5Wc8Wb +Uxp7QQq0HHSx9ZsbgWl+Gpsr9CGKeeGGd7neq0WP9V5TzKlDqcU= +=EIlS +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc new file mode 100644 index 0000000000..59d78e2377 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-PINEBOOK.img.xz) = 690590cd48a71145190531031c1ead3cbbf73398bdd9c663ebb32105b6ef69804181888004ed048e20f9a47a65cd6b46d439b60efe765fe177d8fef3a369138b +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT8PiA/7BzsoNqhzPVtgr0k7h1NOq/TlHtnDnNA/UflmydJXpKYGoST61AUVnSvN +EcvmW2i7pWRr+V0pKLrOEpBtd5cGbNJLQHGozqsVg+kgN23TAowWVzIhCAQSUQYd +1IPrvI4qIpiQV40Fy4hU3HHvGI5QDWsk/QTYrUgpG6r4ja/y0E97AFMp7ZXj3YDn +kMj2Xb8+DHhJZxErp0Xd/E+IpFyofKhctTh1xMT2kD2PHpa/zM8rCuy6c/CDrVW5 +QXHRriUSeg03KHZw7lVNAoQbKtuPKiyo7U9A3bhS9ax+7wNX1OT5/ZcC6UxM5EUd +I+29u9goT32JLxnqQ5va54LS3U5lpufIH0xJLyfHJuE33FeM52gBGHB5GiubQi6i +p3aV9ODLAa9NkzYoyvdtEWv6CsJEUmX6wS09Ljp3IwJJ2jP9cMObnx9fUYYMZD0c +u7b5fOUeyPECvKciJ+CVNyNqmIqeYr85vso0okAdLXnIexJysAkHH8eMrmaqBJym +rZFGl4dQU2ZpwkB16T+l+Op8J6/C613G29sEDXbzHAUNGdUOlukwQ/+f/U3u2MUI +yKfjBhyUnQ6BRKXo0IQmIIsBd4f+QM5PuKP3j2sVuMv0LsSMGK6tZjpSkwcVIzhx +ueEuuWGny60UZqdXp08jzVm7wxqAmrTJ4REWApIa7vdVAKWDylY= +=qDHe +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc new file mode 100644 index 0000000000..96a095d2c0 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ROCK64.img.xz) = 9faf5286ac1ad0d0cea3b51bb9dc3993b01fc778dd715147b21c370c55b75a43d65c3b0e9d4b827cd683ba5b620705eedaa92ecfa47b06fe8dc18c143f99c0de +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT/1rA//TboqFdgvuMR9Ea8h/KxCp/J4FKXCf1J7YLZ8mt/ouBhJQbza35vvBQ9k +/ztsi51LFr+4CEY2NX0ZRGKPJtn71zAHWGGhneWDm9ENn4YMDFkCLDMCAxzZfYUg +Cz0yrIih7vFYwzanTcUjBAyDL+6pMNKZ4XDwpiIezC0RiT86Ldj+xbzKqeoM/niC +sdnrITrYBZ8bw/X+8nWNTg+Iv94tOFNog8vvNdLH76wMsbKqZ/NKzuOb0e8dhNao +ao/0EQOvYbAJVKVG5/Dzk018mvzG0VafCiC20cXZ8CxiXaqwmh6+Qsb/C6kBdE7d +fNgpve7pTje3tSQv6K1PhXK9F84+qGQso+Dyzc/BTzFKOAxohj71kb/z5vyt/mqK +sIcaC4JquodsJXdev7ljMwD0weWcBlKOFDvoTGCnxrkuO1i6Nk7f+LplzYSPIdT0 +TcpNmKtSlN1wvt1RXKwieUV3YUU3bizvW0YnuES6dvsSn00vpBl7+FhB783+qlLA +wPFKz/01GgPJCUNlNSRpmSiCoO8oocj4+CmPpJa1B2vRmFfXx2lF08a7gbQzO/ab +iJugbA8nJrgepIDIrGH1Ngz472+KRVTc08yztTMX23xn3nPnPhddVSnoBXJSe0F3 +9ZS5oqvDAdNJZHthibQjE6d5r+7Tyw2SL29Ao/u9uJrWXhpQZC8= +=ANNs +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc new file mode 100644 index 0000000000..2ec52f036d --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ROCKPRO64.img.xz) = 12a2fbc0544bf23511acf32bdb132fe0a6fcb0c2790bfcfc11418ea037166b573bedc2a58a973088e99636a4d7919a46578b3e79c00f3cf4b992269ac47a89fd +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT95zA/+Iaq2K0bHzXBlPaa7+Qm3ADmWIlt2i+otg3TSIeM4KYhKaNpS6uHvZzHR +PcT+jQ92G/jlRNprGH1otxwvo87Z+BHEsB7ynMMo1ZiwXa9/HTYsj/DcBs+ESYZO +/3YVUup1mpyAm8WZe9CS9/Wf1DcwqDKrD5h1dIJkCh3EKktzy1hZtVwGyxn4XA5z +U6eIjjbgs3JbSRoftdzydOto/qT7/WemQyGbYEirHSCI7UZC9uMuVOmQSJx94ceL +HyxPgGr+BRJdA73BTcNVjtAgs3B1ug/CgOOcNDtAtKt40rBIBXuhQWPyJdRG80nD +Ac0986fWbRXVgS+fYHjCQRvLYZp4FQeO3ULiefuiElTZO+erqcCwFwiyjPjiyYua +l6RGg4q6WppjOEnl2X6sMAXE6kx40U3uw95pGtHVOEDXemkg/IrW2AWSjkWtmBkO +PcN02/aKhfBTUtoSjX7sCqFKLQVGc6Zyiqm7xg66mCB0iWV154wkOom16WEnJjDv +L4GxMo98I5AV23WG4XnwldJPw1VEKJgnvTMKHqMX5eTg/T/BrLsjAkre3YrgljNZ +sAUe5e+vi9SisTgggjZxlgVuT1XfD5obh3b1MccEnoRbJVFk/pElyw43w3vHgki/ +cDclIIRKOei/8ZRqDBC4YkaV2vzhHnNm1Xce8x2KYZsuu+2GDsk= +=z3gp +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc new file mode 100644 index 0000000000..edc86b5ebd --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-RPI.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-RPI.img.xz) = 829e9f18e2ecfcd75a1c826e3c5740573e0cd1c0806fa2fe5b8af3c59087ad2f5139a1888d53009f337302e0671b8ca5a06a56c2b873fbb1542cc1229082ccbf +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT+BKBAAiyk/7v0qctQqP2J3DnI4E6TXO9fwWPgA2Owg6L981CYBalKPwvuIGXZe +2umoKR7LmOx+3z7DuPoCpsa9Zh7zhtv3N4Y0erQj4iWFmky9Xkq/2Yi8g/SluO5a +2wZtgHT3rKyLb7IjBEqhfa9JCa/1lsmu8bP2bX8sDlXB5EuvejcC+lXYsKnEeIO/ +mLbnlBUjMHi0hddNUlo6fX1umXWuL2/Uk2eDN9IlT2J6pAgvnTFsW+0SuQXPrB+x +4AfxWLMbwYCMfI8KnJJGRAy7xJ/yUSGllmx35290KmBPcowfj4Y2uDQdjUbLA2dP +X+s+gnKUm7kFxPFJ7PQZ9GnOM5MAwyXE7gHFYCKBnZVMf7WQq4dmPKU9FQ6Ll0TP +iojpeSmbxXsHd3Z/N4O+fyomu8Vm33QHrtZRxqinPZZQjxzy6noTa9CWnERYkFx7 +qNbWJ0ib/RsqHHIj1wPdN4YUPIGl9sZiYMdZk9hkQM1V+11TkGkV3m3Z/au1ZKHV +cwn4OhFkyXTVIiNKWdo+VbuYrAOCMJVnldgpPpfADj1QtWIb8K4h4s1gxHx7+n2B +yK8ghonTtWuTl2Mi0ujOwuMMKRGnxqurb05EWNCV/VXgpi7MUjZ4hq5291B0z1tF +pRztyhoWHFw3eillsK51EuvUisDsf7nWZU/QRKYJ1kWSkFwiyUo= +=ueIK +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc new file mode 100644 index 0000000000..5013c7afe9 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64-vm.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-ufs.qcow2.xz) = 74af3142f2c3f0aef8a8ea85a5503af9d70479d514054a042e463ed59897ae3001d31b22b1bc4048455fd9488f32b5fc2fc4efc4962f19f15c2e2610397f119c +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-ufs.raw.xz) = 935fe0daaebefd6646a168787da6ba0d49a96b00beec4401d7ff2d1ddcb42c7089fedbd8eddd11096bf264190cae63cf0bf2dfafd974dc0d717237a2b16ebea7 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-zfs.qcow2.xz) = 3e390323c2c379f3975847cc25258804aebc5047306bace3e0729a9f4a99c37ae0855e27a62ebc46561c65f1bacf4f6db8ef8d60157def6e8b03181c629ba222 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-BASIC-CLOUDINIT-zfs.raw.xz) = e0dc1e02f019cc04dadac393fe7589ec2ef672b224ba8dbb27ecabacd68f85b40d14736a2b235d444372196cd654eeaf66f0402b4b9952f1a8bacb8b13e0d4ef +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.qcow2.xz) = cd23331ce6568cabaad02cbc8b32620b67cd8d28acfa1437e6e59809e0d9e4bdae72ef1586add4ffca0cf09243da2da08fc47f6264fde55cf7a77f0eda0b8b88 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.raw.xz) = 13fa2c9f105825fd52d9b5641943b1f46331ba93cc90d2a0917abcf65082b1fa7323bc3d887b7241a1feb80dbcb2d59b9f29ce4b7d09cf6cbf5581a9801553ab +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.vhd.xz) = b17b32ab3e2002df9253ff203be7f402f7a18115c25d02686e81a822d1492fc0c50e20a6bf9c5be3b2d0b121d0807a40a58c70748a91cc548416941ae7499834 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-ufs.vmdk.xz) = 253efde1a9bdf7087f0838bace268012b5108106b72e97d08e04e8e3da16ca88c37f8f96a1c1e045983bf9c8b2b6ca88ed388ce209569651dd6f08d196cb26dc +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.qcow2.xz) = f52a35603c345b1edc42ffd0ca8276b23525e053b26b1816ee403496be908c48afdda148738f2d71b13b53c11de701037f33289683e9b6001a523f3e3f36247f +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.raw.xz) = 49102e31251d57c324bdfba2ebc55383b3f632bb8771f3dca714fb1cd246d2464b1cf47d0ef98c0380dc4f966513e5b8b1357cd98e5c5b3c2577e010a2268f0a +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.vhd.xz) = 0998587662c31f8acaa7230e10ff5f6f9c3994fd0c28a56164858d74253fe91be384c8cc9c4cf4d06b3f87d7f368ee7b3717391a13328104946d90a8aa3e4364 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-zfs.vmdk.xz) = bbcbc861623baecc8959bfd45f55be5635682bc0449c8b36e36b16658cf342c782fdcb0a70d1eb319e124c2318ab8888ef19d26cf074fdf72638fa68cf6dcc2f +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT8bBg//VZvQrsChE+SCICtbu1rpHf9Si9lOKrqR4N1sFfNW+suz+d6shkSCm7jX +3yDAMQl+bfLVT1HsfafBTvIJa6SnbDVKAOH73kN9IiN8I9siYzA4tUOs4nnnIl9J +C7lDI4AhB4WwRWVBT9TAfKmXnkB2gPFYk+SXibsVSgWxpgKP+9JU+AjHRpBFANqE +5+npftrBfrIgw38GExc8KMUV67mfG5vUFZamt9inBqXKIUAwsX1+qdeHeBODl5ov +OGYgzD21vgVFPn0BO+HSfqoIRU5j/PTsxFuWtD5MOndJ3Pm/vXTe6Qued3OJxmKo +LKcwzVX7DBQALNFahzB0Uez/t8UBPPXSnt8sXHFnO79obQNmTmEKpr8YPkItDLtU +AsaJjTgORvevAFaBObJuJWdGsQsFpdXRR8uYs/ab61po+UgJg054C50GG4klObYG +lLPXI29Iex6dvNv8uZm7BcTFdWXk4cV94rDvNLaAlKqxBDfh468Z5kiV3pTzY35l +rDZvNnoC0ejimGfbD3/JZyewDPvAhQAWsVOzsyMyM5gmEs+niox0ZC805HxQI/Oj +a7vPI9oEawEpNOJx26zICrUiXrCnZY4Gnz/Qrij89uYuCVScD5/Uj0jvc+JRU1qq +mpo2ZUTG3oBfYuvpcY8oQ9ulOB+QtO9Y54ODKQRBMHtlxIpQF0c= +=R0Wk +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64.asc new file mode 100644 index 0000000000..62616b2a55 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-arm64-aarch64.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-bootonly.iso) = 80b64cf402160bcb98ac3edf1e7acaed1c8fa9ae479a63a324ef71c90bbb3624804ff4a71d607a16f6f5fc8c55e2b7149c544bb3b5f9919c192a0ca87fcba909 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-bootonly.iso.xz) = 848cb6fe1b4dd8b9ee5d0523ccf6dd1e395886e3e2ab2dba6f7975c2c5da6508777da0d12958e1f26230b72157083e84346b3cd4edb1adbb9842a54c94f594c7 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-disc1.iso) = 5bfe909a81fb31aeddbeffd9f49dbf87512e8c9025eb11a89d4af32ddb54ca4ddb5e7169aa2a6a05893512cb5d245f0e33a32b1ab5739619155d4f0d43f2832b +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-disc1.iso.xz) = b2e567bb236aa5158808eb66fa7cbb1798b60275b642aea440b21f669004be7d144e4657bf4d8603d80320c41e1148342cdb40daa71afb1a743adae147ed4f72 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-dvd1.iso) = 4feb25e2c2e8a62d79ea031fd2d7121f63e2732bcdc9bb9bd6d962f3471cdce47e3b293405b3479e113058356bf7a39d19ad14046557045491db97bc807067a9 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-dvd1.iso.xz) = 720d47a3ce0ad3c6d4dd3e1222bed128c4d7ba0e91895adeca76510f6306760224cb22a3db9e1fe51c2483861e5f958855b118f25b925bfc98eb87dbf154aada +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-memstick.img) = 9ded03750f1ef0cfc93a5c096831553ed51740f796fd7cf392fe1979bc3526cc245b26cadc40c71acc0313eed5f16f5b8970210aa0409612179901fb8a8e4b22 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-memstick.img.xz) = 02375c538137447fd33e83bf6f580db676361c49962a3c26da405f0b296c1e03e87ed55a0459cc8254ae7d09dc0ca64efe314ad22d6ad95696268721fe1f3e72 +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-mini-memstick.img) = 05bd4ad691bd1f0cce199c060ebd6597915c2574ac59cfff3972323107064a395a7028ed6a00cad2e660713048965c0009d21fce1347b2f55837ab4c7c0cb46f +SHA512 (FreeBSD-15.0-BETA3-arm64-aarch64-mini-memstick.img.xz) = 4a0fc3bfc3919997ee5b20befb5ca65a1f3a46aab6337485c7558985b382020daf440dfb59a8c1fb1dc0e1b513d77892e386326011723b8a4997539324a509f5 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76L8ACgkQOJfy4i5l +rT9zqg//ZW/AIka3wi/IAN9JU/BYVrnpJsLwpUGrMbrarfc7YuiMQe40HYanP9D7 +ellsp1EiOm/yeyNn/XmNWZ80DV1e1Nqd3LfLz7GNvDzrRp+NoZLWuaxqxcUUP4Vu +Rh3XHzFKTuFu8SRAM0RuCQjkTqzmgmdLql3ZvUNI75zv+9yi05P8/gKQZi13LbfO +vmNo3PBsdOFk8L2V98bsKlZF0xnOYGpCD0U8t9TbxEBqbSlkiFkL/mRzG1SUYYDe +Ha28rbTNGzGxB9reBnMdq2p9eXuk0RQNtJbucmVLC7vo4l6xsHiWQgQ+J/y6A9p5 +B0j7lAiyREAVLTSQ+dN4KZs821J5EbGeYzNPtBaNINkQkdfK/Ah1dXKb1QZ4rWrD +wcuT2XDXoktdMKqYRZeWTgechSsij+rPSfkJ018zXh1ZQf0guDZMuJBS+HfC0Kf2 +zGimh3Rh6O29VsM8GbALgPRUi6AMcOJ1DY6nnwodB0i6wgCd8keAdPcZqJti2sWr +aaii85RCPHhYs15jeFZFIIIDmGW0UGdk4asnbLpijXIcnQTPIhp0GNcK4/0eAuaq +sfnaT4Pzow/wjUGd+ZWUktZ/vdiw49xA9odHGJLavODg3EapOrYx0EiKNtj4yNYW +J9L1nBofgILxbk70ATdC5oJZQRvEFq5ToOaUAhxca1Jz+viowUI= +=8Ec/ +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc new file mode 100644 index 0000000000..0c038a2d4f --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64-bootonly.iso) = f624870cdc59d43043977cd7bcc6bd6f69e7fdabc07fceae04d025792071465684dd682b4dfeda7c16de603baa384c2cc19e6846f89c657215b8c0d2bb7afa7c +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64-bootonly.iso.xz) = ec0a9a39addfd7d72004cdd40ea015dcfcefa200342e47016f889542b25cf6cf1c35a7b30420f55a0b00bda8e4583fa6ed9cd980ac06d673ce9bba0b40a25a29 +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64-disc1.iso) = bedcf97d5897c7484ed56dc7fba83659e1f08a98d5b5b45db7f983be5ce793c056303116048a48e48746b4ae2a6f6220cee47d847100974a42eccc5a8838dd2a +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64-disc1.iso.xz) = e80e62a3693b3c265afd233ace82c346094dd4cc7e7191c69dcebf57605172eadedf39f24a8d47fc82a75a73e7be47a5f285c6fb6327cee0c61dfa5b45fdd879 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT++Dg/+Idjv6QGwJZjeIQzpZljrLlwtmwmyvzeI8NPLAp+zR4IktRim7mryH4Qy +95FhcaWEkouDEmMvMh1WCW2J+Kfqlm3od03P06kGRAFCzAWcOifxvh4vOCCwnItm +FVp7mJxfzpmfECozt23qgqM7B6N8PioGWtyQNmfXyBfyfW0IkfK5Qny+Fp8x9vNH +XbFkzKXftRpCyqW2nAW95XURgSdRAe05GscWEYGPByT5hENeeXxcpf5E3vgeu4vN +MLWfV9iZ/NqyufVppn6bt/J2CHMufhlKNembHFCqZO0deKvRaW1y/5bazSjsO6Lr +aJdRsN0Y6jRF8sH7uOUDNR3vm+A0OJ78oWCb6ejn2W8fG4ngt7gl2wsxN4Q3B8wG +IR97q1wJ+/y9JlwMAZf/e85+Hg0TEmJZt9CpoB1XtBsOavwUbeU/qkBBzJjD1J6i +KJLldz2m7I3Qpc0qvjYQbucUOdzDlmyTIL4D26R/Auu2mtvo2gxfSOY7Sm6DsRmi +PzLm8EIDNefGtAuI5FyjfSrMW3m6iFhwn+6Ei9kOHdOef9OAHTMkGVTdHAe8dXa2 +mpGqzaCvVSQqq5QgjdPNZAoa97WLcDi6IfnUNYff/6tW3KHxS0KAbsqtoJ4G62kJ +Mhw5w2dS5psZLXQY3mJIL7F+Bqf8PJt1qzD1ZFL8yIQwt5z3UrQ= +=dITn +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc new file mode 100644 index 0000000000..84b954f8f3 --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-powerpc-powerpc64le.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-bootonly.iso) = b5aeb19c0d5bb61a60d40b2d673ae33e7121075cf7420b44ff18d4b94e90935d39f0060e60f043dae59bd62350e73e914f1b0ba3d2c3bfee54654a131e87edd6 +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-bootonly.iso.xz) = 583f5257fa8e29535d207e05eb697c5b6df7fc7309e5eec9a629e68e2f0388dfae8821a9bf5caf7a8831eadcf681b8fd49fb0ae365a4c87d9bebaf944c0a8acf +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-disc1.iso) = 75c10821a848c7483a0c4eeed519c79144a9004087b90935b79304ac3ecf3ef70a0f2529b8668bf8c5ef6992ef045ea0db149598e370aa7926ab2c511911a297 +SHA512 (FreeBSD-15.0-BETA3-powerpc-powerpc64le-disc1.iso.xz) = 455b267d7de99bbfae8c11b9338f307166f0569061aafb67f524c80807d69e5b882fe2a0c8b2bc6b0563c580519adf1ab39a65db3a57d00f21c562fda762599f +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT/vkxAAkHy+KGNpZlZltOHmUzGFoG1kIOBTC/yztpt5v1rbHVUdXwxT1laKW2ig +2Zaqlx7Ddy+rBwMrlwl4f0Qwa3FEVd6oi56Fgg+fSZYSvngqWM7Ou30i2S7/o0sb +FEZyWvZWzKT+7qxwXcUGMluwTKKoCH8Ya68EJMDg1uPtlHFYf6mcbwyRP0dP4ZYK +QX4SXWnJ1wqTIQmXF+oas1Uj61+Kd9rVymaeO2Se7QGLly6Ss7iuFHNadwPep77n +0W9mj3wc+Y1VXQH1s5KdvvMQyhIN6ayx72SNO1Cr89zICJ4RMdoULWdih4Hz2rjb +yyOHIiTT5SA11rltSLo61lZk42YTnKNhvIFXqpe8PyRPR66rIKkqr6gdt4ajxkaK +VQf1gy9myzzrIFP3XlRQrUIf/yvypgfnR8KWmmzPUEnjKbX9FY+OIHT24SXmFn7c +7YVcmc63zQrjrofBMBuc/VZvYdqrJnU6SG0pZrYfTFMkminAO3rKh8+0pB+Otz58 +gv8JCTP/sjcxFZipsfT4/gLuO4aUTclwNXPynb7ymJmCv7J4zJal3JbcA9pAmYp5 +4wLKzCgBaK11FtFUn8h26mrAF6VtIctvcLXj+rMqwUKNaGhP8Gi92i46x4piagCO +BBVoyPcrgKsP4jBhgRd5chB6DHtCrKACjLUl4ErcPRARNyAmddM= +=uI5G +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc new file mode 100644 index 0000000000..779ed3262a --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.asc @@ -0,0 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-GENERICSD.img.xz) = 31e641312adc75deb345cfebd1357ac1fa3c07d09862e623a5aab1e1ffb52009a09f6a448616e107b95439886dade05eb2802447483be3c05b34374e870635d3 +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT/hwA//UtfMNkje2JQyXaRiQTcPpTZn400Xf9ReFVct8xmOWRg6BuOt0zDAJFp2 +VuQLt+0/43yv20VDc5sfwKH6nr8D2tEzShp9xrUuHqiV8Nz6dzI56366XgTH8MOx +98nHvLHjNntBcU92jspCRqOXTI54k/j7dOZYAkuCV4031VRTilu6hOiNLlKycc2b +2bwe0s7g6kwFhxXX9Rt/aWHJiqDSGXT9q9TZuCbsw5cS/wEd87WRXIgVYbQNZCtX +zZ8nEXnIYLXD3RRKkzLydm0MPNyeJFfhhpQqXJ77bHOrPQknYWiUtcDC447p/XuH +TzwQV7/D/5PBKxaHBd/FwMkdKQJ9+0OcTPwZhyUnCdvlfipR1cv7qserJ6BAVn+5 +YirG9Yrl3d/g3UYXRjzkJGoNfuiv8nGUYsRWqGuieaOVsphA8hq35+Nuz+mWTYJk +3ni/cSyAB7jiHtyuh5CoQeF4BhnQeC49/Zzm97A4g3uF+6OP6EywW3YrIs31fHFJ +nLvuttv/tYu7DMFnezHRnHHOO/CQeElGJlyCMCgclGx0jJIlnDSnGVwoKPGbdV6T +6LQZi9EElswwlcetudLI+gelnCGG+sZNYinWhjo5p/zNlZ0sKAHqJOGdFmoWvNR1 +IayEkkj1x3YM+siJKT5f9Qoing0DmwgiKVSfqHDdHU0rKEqwx48= +=KdVZ +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc new file mode 100644 index 0000000000..36b07c2a8e --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64-vm.asc @@ -0,0 +1,27 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.qcow2.xz) = 190bc927a8a084f631acd9018101af41f66da239b61c7439ffd198cee8833654ecd04d30767ab9fac9b5b377251b02cfd26e3177628508f27f73f9071208339a +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.raw.xz) = ae18a95f4726eaf7c5eed0c552b020416beeffd4edb53c1acae732b69b57ebb240d0fd7d388cac2e9e8e3305f59a5c77edba1806711f1549a9171accb98abe90 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.vhd.xz) = 9454ced10e3e6cd61973f06d26bab74c53bb4752e94beac8d35f4e51da51f947509b67d02e29d89afaa975d914cd5209d61135bc688de4bf1f278ed52ca97950 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-ufs.vmdk.xz) = 45b45a2adda1adfb28a22369d3cf2abf4981b8b12e5cd85ced6d7e9443a9b4aaa387d9909c5d4e2c6a0262865cb5e0f197b3b15cc2c1f16d86adcd41b7ec2a4f +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.qcow2.xz) = ecc5f09ec905ccb4ca72a2a7b320be31247c0028c713ef0e0d43332e82da941ed0f6e629f9ac4a4124e08f982d18527c0776e9bd0801af6be8b16b091a0e8026 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.raw.xz) = cd430e57459d4a8d4479f2d55293eea0a6f635d712f5277cd2f36ffe73851ad854e4e7147f36dd5ee3011c2d57a7a537e1b520b178dbf00caee3a2f9f6bd675b +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.vhd.xz) = c487094c19891d68bf2ef77f5e5887bb08af52f61534c7fd79f2f474519d01f9e8ed24a9f4a6b1c9ada3da7f2dc5a68f15a51b8e5dab2b4b7cafd98484bdd6f5 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-zfs.vmdk.xz) = 616a285e887623327902719ee3c72e5022a8e511a0d939f7a41e41fec364c79ee45e81fb3b1685a8497679cc78ab8e4ad5f419c8b681b77a569fb02677338b2e +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCgAdFiEEglY7hNBiDtwN+4ZBOJfy4i5lrT8FAmj76MAACgkQOJfy4i5l +rT9k2w/6AupMiD9dutDhYYxoSDnta/Yi/xK7Ojq0gXFFbivxGLkEvfBxFaYOnyxn +bwbB78/ciYj+0VVC9DM5ZcWLgHXzSTjgRZYbUpeGPEjhedrTXhFwF5LdOtuw+6i7 +IlOfJeK2EGbxbjl0fwMUeQho6OXkc25297tjRm19eLF0OJxjSukwOO0WCWTdNF4W +KkP1RfFxk0U3rNk6bFnN2o7yP6L16W+yKF2wtwzIVinaIABpacYiWqK8vByEMHbv +awpSrrbNWGIydKp7IaJYCeZOg693A7MQUM+l2oFwo6XJWRSFFMRD0tdsskRNY+2p +8CEI4AuAX5EmSv1TIJqSHAOXL5qeWjBwK2WLbHXD+sGzGKMOfYmtqarGSbI9gK45 +iRLkKrnxuxQdmn97uyNrs2TdfBNYNxGSz3Of/PdrEQ0FPluvUV2FBn0+eXKadgr2 +zkmPmhJK9upwUmzm3NCredECowFhrvQYIk64Hz/UM0eIH2cDh1PzzlskNJnRpEsD +g/Hh70/7BsaDKuWps3F7bV+d6Rc6moN0kdnfwHDoOgrWUvppQ/U98yeXvG9TK399 +ZZ1tv4cHNYKxhGOsIFx0KOty6thjp2GLNiJ20itwn2QOCSsqdlbhflcSMxYWudCY +mGYrZz68lHzFrqCuzQ7JeV1oT5rB6iPaSLA8vCQ+KY2NyP2ODgM= +=zexP +-----END PGP SIGNATURE----- diff --git a/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64.asc b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64.asc new file mode 100644 index 0000000000..43596e38cd --- /dev/null +++ b/website/content/en/releases/15.0R/checksums/CHECKSUM.SHA512-FreeBSD-15.0-BETA3-riscv-riscv64.asc @@ -0,0 +1,27 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-bootonly.iso) = 38500b354dea6c260aa32580ba9ce1064aa987fd9e1f9dc10769149131dff8e48288de960a5c6821dabe937adfa0745520ba88e58d1616fdb9955e7bbe47c49d +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-bootonly.iso.xz) = 0959e402e89d88e507b1ed34f5c310cbf4ab103b128ead469a29714fa37557399e92550475c3821a5456b456cbfdc2f4c3e9e4542cfcc2a406050ed577b7d990 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-disc1.iso) = 4ea4f0945726eef5f7102e132c3928bf326e49aa50dbfcf2535d6279090107055bfd8f51ef80c71081f7983908e62e8fec32ea2568e125ec2cd5c02ec7078fc4 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-disc1.iso.xz) = ffd267d344c35da871264daf0eafeb27a8c11abdbc41f3bec90e7f58011509493e1ae32c217a3fddb46b4a0a44ce8daec9a2c61caba8ec8c8f84b0a0d0ee9060 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-memstick.img) = 9b1d30cbca6f4f0d6c2f1846dd68c28f32f44e3956b2c31e7ff29cdc6ab401ac9fa5bc2d97bfc089be35ea4437e9a5012ddfb6daf8f9f3399fd800c9f2344c94 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-memstick.img.xz) = a5e3921d7ab58abf50673ccb233bd4552d053fe55985df0f8702d45eb0763c6eba3069e4de1276659bd7d53ac7f86076c1c6496f2529f69bb2b81429e7b22b56 +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-mini-memstick.img) = c08ab6143b797d092cd3aa5efc151bfd13ee67996b9afe838597341fb9ffba512263e001605b12635fcc7665d9f489cd4ca50bda40ddaa305605a808336efdac +SHA512 (FreeBSD-15.0-BETA3-riscv-riscv64-mini-memstick.img.xz) = 3e23fd0e4de766465698b4c66e37195b156a5f397129a85f6683f118075c554b9895a3e9b5cced8f87507589c920964ff8100cb8981e8e78bb8a890946d24670 +-----BEGIN PGP SIGNATURE----- *** 34 LINES SKIPPED *** From nobody Sat Oct 25 04:41:57 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctnDQ0QKkz6DqGn for ; Sat, 25 Oct 2025 04:41:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctnDP6xJ1z47tr; Sat, 25 Oct 2025 04:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761367318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZiOqeXVAZ3hN8Fe/mKRQXlTvmH1UkPlw2Hc9gTJstU=; b=Tl6szRWoJdpbiOy73oNHpQDAL2hw5vnqqSujH/cb0MM4b7X6RaXlGZtmY/IbQYt0dhznJA gyo6LwiEU5RsJeTTW26yNt6JiOa6lc9x8YgBUUgVC2n+VXV99F/wcX6m63r0nOHf2AC2ZZ uI1TFft0tkSwmpIZe3TYfBMo5zowSpWje/gQOvjMSW8GrUpEduFzKtnHcP3ZvzUxxi+O35 qtMIvJVG1QsaQIrwkIkJNzewZeLLzHl8rcVTfxBz0RAdiTE5ybI/AYaBlX3u9MUZ5ZCmbj JNuNiMvff3WgAS7eWTaEbg6rE6RDWhf5FwjIYXURPe1YJc6HRLfsIRlG3nA7kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761367318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZiOqeXVAZ3hN8Fe/mKRQXlTvmH1UkPlw2Hc9gTJstU=; b=I9haUPeZwh798MG+vlsmLryl/eGAWC4v02mHOfO4WoUqniwnfIsxbHDVXGaK5RlVarsiwd 9WAtNivf8hedjIiOWyNkkWRbJHRARi6DrL6kU7Az1Kc6agUo9n8BMOHwuiKm9nvQFj+Nal Ua+zNOQZPR5LJxgeqaMUwYzE1AcSom/yJTzRc16JPzTlJJLPIVKy1yeO1mwppEoUw3lp2o qoTolztd5wfqMm5sg/bgE2d0IYOVjTXSEppgtZB2nsHkMjWYHl8tn60iyLD/GhgKGJ1tib okIO+JsIBey3/2PzByGZ9ScRMSTrjoLA9BHs8ZeVe0gW74GJ9G/xnbM2mDasag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761367318; a=rsa-sha256; cv=none; b=OwsOCF+D8f44dCRKfN1qAmL+SaXSK8X/fjUIp03mte1hW6RN6CM0xbXoWfULixUcODVP4x IFqLd2C53ZVe2ebRqs2k277Ye8VXACaROVKU1rjcVWfSReDSMDV5DC7Og6NCp31AlVNwVa lkcYHf6xfUgOxcRV9l6Uoa/rFuHciOAmas1q+K5ED0J3W9t0T039ner33LVHdcbzXWGBV8 ffFIdT1KiLMggPPaYCdYpujoiNmmcd1CQpRvwusaMlZo3WzMnYaomJNul8wsGXJk3wiJFl wh6k9ClALC/PaEQ2IanqKU+7fc/Ss2jyuSS28CvPX4IrRyRBDXLc4osSZkBudA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctnDP64QrzXrT; Sat, 25 Oct 2025 04:41:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59P4fvwG024479; Sat, 25 Oct 2025 04:41:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59P4fvgd024476; Sat, 25 Oct 2025 04:41:57 GMT (envelope-from git) Date: Sat, 25 Oct 2025 04:41:57 GMT Message-Id: <202510250441.59P4fvgd024476@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: d499f02219 - main - 15.0: Announce BETA3 List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d499f0221948b4aaa78897c1499b1dc3d563d6ef Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=d499f0221948b4aaa78897c1499b1dc3d563d6ef commit d499f0221948b4aaa78897c1499b1dc3d563d6ef Author: Colin Percival AuthorDate: 2025-10-25 04:41:55 +0000 Commit: Colin Percival CommitDate: 2025-10-25 04:41:55 +0000 15.0: Announce BETA3 Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- website/data/en/news/news.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/data/en/news/news.toml b/website/data/en/news/news.toml index 6ba9996db8..aaebd867c2 100644 --- a/website/data/en/news/news.toml +++ b/website/data/en/news/news.toml @@ -1,5 +1,10 @@ # Sort news by year, month and day +[[news]] +date = "2025-10-25" +title = "FreeBSD 15.0-BETA3 Available" +description = "The third BETA build for the FreeBSD 15.0 release cycle is now available. ISO images for the amd64, armv7, aarch64, powerpc64, powerpc64le, and riscv64 architectures are available on most of our FreeBSD mirror sites." + [[news]] date = "2025-10-18" title = "FreeBSD 15.0-BETA2 Available" From nobody Sat Oct 25 05:28:11 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctpFl3L66z6DQqF for ; Sat, 25 Oct 2025 05:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctpFl29xnz4GTP; Sat, 25 Oct 2025 05:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761370091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RIDjwOR9Z/h05OifD3pK2AxU/bn6bn2sSeU8FvT9HIQ=; b=XI8HFj8jlt8jF7P9EXv4mmX2sBDDg2+wHO85OSZCf9uCnlwCo6+EVnsLrpJY/SgKS0jPhk +ERFrSWNOeoTcn2DKVbZ8YWUQ18JiYHQM2AVDBYmrMMif+VIoek0pBes3G+etX1ezJmQL7 bFZBcEJD1GeoKN2BOKHnCGr5zUWH7dnbB2PztSFAXp1yDUk8G4V7frBkqde6BTbYrDyiAU mx8+NeHSGEMRfoovEcRJOAUaT+GGqV1+KZAQPHZluP03G7sfy9GxrJLOIxGrRVgIONjgVj dpfuMwPyaiL1g36RZPWLhDDK7lm1SZVJxe/tLgdoeqtySFP2Cy5GzJAQlN9Eyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761370091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RIDjwOR9Z/h05OifD3pK2AxU/bn6bn2sSeU8FvT9HIQ=; b=CQFVES254kMngsm2Ur9L1aTVL63o8kC9XgfJgaIKOtdnldOpKz3F5JoDwqhtPPhlfQlDtM 58pIOkacpL88NDhj8XcwSTCdBylyEOtD9XPzNHKAc18GxDl/okqk6fqLvnksYerAPJy0P2 aQCZR501Mc1LrFmauiP8S48tp0+4/JhsXjmtmpdvU9XRE9gfJd2DWS3xmW0U4zJwPFZz/r YqBMccyktWbJLIpiGrSGQG3ea1cCZzl0AXQivepFd6+m+DPsssmK8iCiazncfPPkx2LJwu OjkDuO4347RPTYCCuGo+JoLTqJr8Og9IJIn+ihGMeJCAXkryIlRGN5Sxsv1gUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761370091; a=rsa-sha256; cv=none; b=JYOtFI9MsqV6sMttBVKH286Q2LfM+/UyGoXgpDOr8+YCY3P3Wx19mImYBbEuQqLzWDTp3E nfr9h0pEEJKySN69Ca0THpwpsvZtqkwml+pO8MP01yx8xPlFtsjXfGE8qbMy/fWdiG24ix pkFgCkPAdbJWcdlH0kEvZ9e4DFZ1vTy8KgLJLXg7Fdk6YuQNgAqZ0eWMhrJiJOa1hijPay /yifF6W4CLXwqyirbJb/zAAEHFrkTgrTtx6+tOBPVTVASp2u8hqwT4QgxblQ1KJ87Xt6+g 3ofKYzc1x6zE9+ufP/aJrU/X+LiIec4nnyihaRGtA2i1LZGXFVFVJ0Ovzs8jYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctpFl1QVMzZfL; Sat, 25 Oct 2025 05:28:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59P5SBWt005195; Sat, 25 Oct 2025 05:28:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59P5SBhS005192; Sat, 25 Oct 2025 05:28:11 GMT (envelope-from git) Date: Sat, 25 Oct 2025 05:28:11 GMT Message-Id: <202510250528.59P5SBhS005192@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: 77087a53eb - main - update Debian 12.x manpages List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77087a53ebd10d900a17e167807b2bfe3075569c Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=77087a53ebd10d900a17e167807b2bfe3075569c commit 77087a53ebd10d900a17e167807b2bfe3075569c Author: Wolfram Schneider AuthorDate: 2025-10-25 05:27:46 +0000 Commit: Wolfram Schneider CommitDate: 2025-10-25 05:27:46 +0000 update Debian 12.x manpages --- website/content/en/cgi/man.cgi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/cgi/man.cgi b/website/content/en/cgi/man.cgi index 65205c3736..91fbc7179c 100755 --- a/website/content/en/cgi/man.cgi +++ b/website/content/en/cgi/man.cgi @@ -943,7 +943,7 @@ $manPathDefault = 'FreeBSD 14.3-RELEASE and Ports'; 'Debian 9.13.0', "$manLocalDir/Debian-9.13.0/man:$manLocalDir/Debian-9.13.0/misc", 'Debian 10.13.0', "$manLocalDir/Debian-10.13.0/man:$manLocalDir/Debian-10.13.0/misc", 'Debian 11.11.0', "$manLocalDir/Debian-11.11.0/man:$manLocalDir/Debian-11.11.0/misc", - 'Debian 12.11.0', "$manLocalDir/Debian-12.11.0/man:$manLocalDir/Debian-12.11.0/misc", + 'Debian 12.12.0', "$manLocalDir/Debian-12.12.0/man:$manLocalDir/Debian-12.12.0/misc", 'Debian 13.1.0', "$manLocalDir/Debian-13.1.0/man:$manLocalDir/Debian-13.1.0/misc", 'Debian 14.0 unstable', "$manLocalDir/Debian-unstable/man:$manLocalDir/Debian-unstable/misc", From nobody Sat Oct 25 05:52:02 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctpnG6glMz6DTNc for ; Sat, 25 Oct 2025 05:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctpnG5bdPz4JQ2; Sat, 25 Oct 2025 05:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761371522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pPImnxaNuvUqYB97dd7iQMFjGf4JjjygRn8iiEgz11g=; b=FOgwm9+9gxOETAzf7bYAApuAHTm9MUu5O2tXqaYuIPe9TeKiKkteoiEAu/oLE38AKj6pA6 yofAa55eL5ArB+czKgA6kzpXdAaTiM5OMKTpUrGLbAJ5g2HmisZ5CPin/sUr0CvXkoiT++ LlXJ4gMbkmkQeYT8j6LXwKnWmLksCbdrVRmwABpk32L3p5o/QbznYFKCNm8oomnrkWAjUN rQKDW+dFmyID1tUwFge/Um3RPXY0T9D8Gapoux4P5nVSTh8esLlQ9y9/h8Bxr/7yFGvmGA u8cibGC5hFrJW71XeouIh6IwmVgCPYQqm4aYcDHUk5NKnPmcNePSWgo2dJdVRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761371522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pPImnxaNuvUqYB97dd7iQMFjGf4JjjygRn8iiEgz11g=; b=RwrbN7YT29rX23EufbeWE/XwZdnBMY31lDpeySLq+bxgicZrw2EjgU7m4F4P76JzuRoY+a vtFPQ+WPf8hR7kSP2W1vbopGEHz6wcU7rVzL2xNFe6mtCf8DlbBhMchrUINy1KhmeKhPBC DCzxbU3JY9T4aTPxo8E18uaU8RcS+ChJq+geizOWDcNxf4vLK8PPQPFgRPBcDibTorvpGc HyERyvGt/pUKCMMx4PUx1SRnj6GkFlkq2Ou78iQFIY0iF12Ro4kKIKqoUuLQniuUZKwVzJ xWqqVROHWh6eqkY6Xo7IhVBog+8t2hZOwSNdPo0q5eME5Tnv+gs9StRgERiLQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761371522; a=rsa-sha256; cv=none; b=HCpd0bP3dlfhXOlbBksfc4YmguBr+iwKBczHvOnznOw4sg9mLO7qRglJQnpNHfBLfeqRv3 AMZykDeHzCD5a25k0tt25ms1o3MuuHVfHsMTLYzFQu6oKaFyhRPcdGxsS2w/vzzgSYMX6R 32HTVA2zzujoVWCQSJDjtShHzqptHz9Txj5CHfVpn/jCTknPq9ttPayKuQRt9qc5QlKYIM 8/ZIHT1nxrPLqOmCZDqlPjw2KyLLxnioXV7oJONXo0IVjimzfnsxhalFrI4yLjRT7rArzv bp4s5wk/cr0Z3JlUh/gtQgLBxKWAcVkd2KtkD7A5JGhii11TNUHUTURYXW47+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctpnG4b1JzbFn; Sat, 25 Oct 2025 05:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59P5q2Jo058189; Sat, 25 Oct 2025 05:52:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59P5q2F8058186; Sat, 25 Oct 2025 05:52:02 GMT (envelope-from git) Date: Sat, 25 Oct 2025 05:52:02 GMT Message-Id: <202510250552.59P5q2F8058186@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: 7f2a5da187 - main - add OpenBSD 7.8 manual pages List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f2a5da18752283c4d0317306913023723b99679 Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=7f2a5da18752283c4d0317306913023723b99679 commit 7f2a5da18752283c4d0317306913023723b99679 Author: Wolfram Schneider AuthorDate: 2025-10-25 05:51:47 +0000 Commit: Wolfram Schneider CommitDate: 2025-10-25 05:51:47 +0000 add OpenBSD 7.8 manual pages --- website/content/en/cgi/man.cgi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/website/content/en/cgi/man.cgi b/website/content/en/cgi/man.cgi index 91fbc7179c..b2055f67d1 100755 --- a/website/content/en/cgi/man.cgi +++ b/website/content/en/cgi/man.cgi @@ -232,6 +232,7 @@ $sectionpath = { 'OpenBSD 7.5' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 7.6' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 7.7' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, + 'OpenBSD 7.8' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'CentOS 3.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9:n', }, 'CentOS 4.8' => { 'path' => '1:1p:2:3:3p:4:5:6:7:8:9:n:0p', }, @@ -763,6 +764,7 @@ $manPathDefault = 'FreeBSD 14.3-RELEASE and Ports'; 'OpenBSD 7.5', "$manLocalDir/OpenBSD-7.5", 'OpenBSD 7.6', "$manLocalDir/OpenBSD-7.6", 'OpenBSD 7.7', "$manLocalDir/OpenBSD-7.7", + 'OpenBSD 7.8', "$manLocalDir/OpenBSD-7.8", #'NetBSD 0.9', "$manLocalDir/NetBSD-0.9", 'NetBSD 1.0', "$manLocalDir/NetBSD-1.0", @@ -1189,6 +1191,7 @@ my %arch = ( 'OpenBSD 7.5' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, 'OpenBSD 7.6' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, 'OpenBSD 7.7' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, +'OpenBSD 7.8' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, ); # delete not existing releases @@ -1235,7 +1238,7 @@ while ( ( $key, $val ) = each %manPath ) { 'macosx', 'Darwin 8.0.1/ppc', 'netbsd', 'NetBSD 10.1', - 'openbsd', 'OpenBSD 7.7', + 'openbsd', 'OpenBSD 7.8', 'opensuse', 'openSUSE 15.6', 'openindiana', 'OpenIndiana 2024.10', 'v7', 'Unix Seventh Edition', From nobody Sat Oct 25 06:00:48 2025 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ctpzN5R2Nz6DVQB for ; Sat, 25 Oct 2025 06:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ctpzN3wCYz4JmQ; Sat, 25 Oct 2025 06:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761372048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9n8M5R+AIM16yrTrnljo7yEqhX4xXJJaTC80gizv1Ug=; b=bbP29JHTfpk2Q231O8iO8V847EQU4Wb1T9phifIcvlUmT7GheJXYDVnDH8rQWSs2igYUne W/ZK7OJxemmDlUoJ4odvzJAS7ktryzdTiemb5NjM1FLobhiEUNr6GWsOfufZkdk7XGBZle oFmibH9sxKpGjGjJKLJ+YvSo8rnDEqAKMBOk8jHp6zTEx1oCvCMeai4Iz6F005AoYX+s5b 1EKQG/fmQOyVJ1BLHwHgC8SWNczRqtnWCbAYmCaZJ5jlmFFv/MB3LK5eC6J5wqpyxFuAqp H1urMvPBH7xneNSw1KCIJnhpYSRPP0V5O9Hyy+wJad6wnWHSXn++XEsNrwc5BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761372048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9n8M5R+AIM16yrTrnljo7yEqhX4xXJJaTC80gizv1Ug=; b=waM1h4ON9/0CD4HgXvZaZBi0IsOEeBM9MdQg4GtcoHH1wxCQdUYor54N7Z/3CC4ZPH7tf4 utN3DotbP8oX0HT6vxuznGus76aHo2zjgA+El6TtW1J/YuTJuW4VEDrnmWNjSoKD2Mmc14 +D5UkhIv8LKrGc7M7CkuL+kTtriN6ypVP3mrPQmOFvU7tkmhdCwmG3vUsDbpPaAl1fVk0s hsyZmN0EKV5fkoO+Keuzo27vWX9ScZ20hPr2ME2s4ukTskFP4apSCwXBpWiGdhtdIxUZl1 +fsBC6Y7MbYDIhsfizrrDlar0UGk/JTyr/QxmqI4/7DZhURoyXkSliAU9QLA7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761372048; a=rsa-sha256; cv=none; b=UkbGD9QIILKAajo+DrTs7RHbwO+1rfYugS7FYUjwPtlcQ00ac8LoH5RcUWkJ7ZtZzt2xBZ e7ZvRuk3YJh8ED1d8SBh/0EkpR2k8iy1s23LW/+zPzIXKO1NK5gM/2JW13Tsf7Ueox8w58 XyIUW9GtYdh5yBdloZyzRGZdqZ9ro0WxnUv3lv6DNn1PdRryHlyPGPrrrJsTQiirupAA/6 4VnouzUcoJlraR4WVXUOZmgqn7uB408JDKJ3JoL7F0UtZlplIEpZzTzFYw99gsGAWmcA5j GyjreSQdvY7jxti8Pm2vJXepxcCRMtwxV+PAerYznX4TGHSWNVG64x93sf2JOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ctpzN3Wcvzbh0; Sat, 25 Oct 2025 06:00:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59P60m0Q073861; Sat, 25 Oct 2025 06:00:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59P60m04073858; Sat, 25 Oct 2025 06:00:48 GMT (envelope-from git) Date: Sat, 25 Oct 2025 06:00:48 GMT Message-Id: <202510250600.59P60m04073858@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: 7ff78b5037 - main - add manual pages for NetBSD 5.2, 5.2.3, 7.1.2, 7.2, 8.3 List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ff78b50373d8c66c6d66c6c0914ae419a7c3c1c Auto-Submitted: auto-generated The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=7ff78b50373d8c66c6d66c6c0914ae419a7c3c1c commit 7ff78b50373d8c66c6d66c6c0914ae419a7c3c1c Author: Wolfram Schneider AuthorDate: 2025-10-25 06:00:21 +0000 Commit: Wolfram Schneider CommitDate: 2025-10-25 06:00:21 +0000 add manual pages for NetBSD 5.2, 5.2.3, 7.1.2, 7.2, 8.3 --- website/content/en/cgi/man.cgi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/website/content/en/cgi/man.cgi b/website/content/en/cgi/man.cgi index b2055f67d1..55d2bc9b13 100755 --- a/website/content/en/cgi/man.cgi +++ b/website/content/en/cgi/man.cgi @@ -795,13 +795,18 @@ $manPathDefault = 'FreeBSD 14.3-RELEASE and Ports'; 'NetBSD 4.0.1', "$manLocalDir/NetBSD-4.0.1", 'NetBSD 5.0', "$manLocalDir/NetBSD-5.0", 'NetBSD 5.1', "$manLocalDir/NetBSD-5.1", + 'NetBSD 5.2', "$manLocalDir/NetBSD-5.2", + 'NetBSD 5.2.3', "$manLocalDir/NetBSD-5.2.3", 'NetBSD 6.0', "$manLocalDir/NetBSD-6.0", 'NetBSD 6.1.5', "$manLocalDir/NetBSD-6.1.5", 'NetBSD 7.0', "$manLocalDir/NetBSD-7.0", 'NetBSD 7.1', "$manLocalDir/NetBSD-7.1", + 'NetBSD 7.1.2', "$manLocalDir/NetBSD-7.1.2", + 'NetBSD 7.2', "$manLocalDir/NetBSD-7.2", 'NetBSD 8.0', "$manLocalDir/NetBSD-8.0", 'NetBSD 8.1', "$manLocalDir/NetBSD-8.1", 'NetBSD 8.2', "$manLocalDir/NetBSD-8.2", + 'NetBSD 8.3', "$manLocalDir/NetBSD-8.3", 'NetBSD 9.0', "$manLocalDir/NetBSD-9.0", 'NetBSD 9.1', "$manLocalDir/NetBSD-9.1", 'NetBSD 9.2', "$manLocalDir/NetBSD-9.2", @@ -1146,13 +1151,18 @@ my %arch = ( 'FreeBSD 8.3-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } , 'FreeBSD 8.2-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } , 'NetBSD 5.1' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } , +'NetBSD 5.2' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } , +'NetBSD 5.2.3' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } , 'NetBSD 6.0' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } , 'NetBSD 6.1.5' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hp700 hpcarm hpcmips hpcsh i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 7.0' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hp700 hpcarm hpcmips hpcsh i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 7.1' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , +'NetBSD 7.1.2' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , +'NetBSD 7.2' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 8.0' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 8.1' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 8.2' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , +'NetBSD 8.3' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 9.0' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 9.1' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } , 'NetBSD 9.2' => { 'arch' => [qw/acorn26 acorn32 algor alpha amd64 amiga arc atari bebox cats cesfic cobalt dreamcast emips evbarm evbmips evbppc evbsh3 hp300 hpcarm hpcmips hpcsh hppa i386 ibmnws luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc playstation2 pmax prep sandpoint sbmips sgimips shark sparc sparc64 sun2 sun3 vax x68k x86/] } ,