From nobody Sun Jun 28 18:40:50 2026 X-Original-To: dev-commits-src-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 4gpJBq3Q33z6jkVK for ; Sun, 28 Jun 2026 18:40:51 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gpJBq0gryz3YJl for ; Sun, 28 Jun 2026 18:40:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782672051; 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=6iBfMPFQOFmY1CrJbnKo2Br1F2tK/JvVFW9AVzZWeEw=; b=Hz+ub+1mU3SQjX8BMGovsk3hL3do6zGQihAg2x4yF8yqtwiawmEDYMRtOUpnTGT4nY8fmf dWIjo8sZ9+nXQK6qOGEe9UBLpGIK3qq+o6FTZOGKu6/oeNfgT+fA+vLaymu/P3egf9NJAs 9FQxdOZFMsjrg9bu2BSt6vD3BamukVYdYU+ZlJHE3DbWZ9Kcn49XuVJ5a2BRhnzqn6N4e0 zI7d5kSeq5rGQW647pm1mQ0t3R8jSlF6oF8MxmtBL6FTNgiIdZaQMLuqbdSXLdXA6ax4My sZ7PWnMqUZeecPCxTZAjnDctqLaWJ7HgyVesDyITxo2zkKU2Ce63MEvHDirVaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782672051; a=rsa-sha256; cv=none; b=aFkHD1LlDRqiWX12El8wcs7FoGeUVTL3XVamhLkN+q9JyfeGq5F3V/CBLeCR2lBWmNqfFi tEX1E1Nyzja62zu+Z5JvCinFgsoQkYQvmTGZPvbbhgLDvtG0ghbT8ekVA1+ngTZrQsYHeT 8+wQb9Uq/kE6QDpH8wUbfn4sukUyL5ZfehhgQ+jQrGdnFLgnTOOa8pWffdIDez8Zecv5ca zvKtbjca3p865kkA2TyKQogNLLIt+NH4FzcVFFcEM55KB39+KOgjWlufSvkQVhpAxw+FAo SNkHnFkkCyOmxlXRxq0XjAqNQzDqSBI0Z2C55cZi0yXzACro5RgVTwIMw65tBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782672051; 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=6iBfMPFQOFmY1CrJbnKo2Br1F2tK/JvVFW9AVzZWeEw=; b=Hb5SekrNVpaRxWdzrDYHhiCL2VLKILG+nRiEqkyrgh1NVpM2rh1H5s2I8oRpJoWo/fNj6i xNQFHLFhbXMmvExAp1PVkFYo3OjRO2yuC0xtbddKuYDoTmRDxt9MmhXFyy9vO1pwqm8zNl sRPoHNn5NXYjgM71najVjyrxg3+TYu3ralo5DiYzAVgjcxTdn/5ECXy5N9Uv8fJpv7i45+ Mx8rDvkbk9QThPtsUtQj/jmceVcstmCy8kMHGP9F+iGyszUBlIdV157es3ysncUv30Ymon pJVwzYh2FKCsQVKjFe1n/ZuLIDZsavsPjLN4y+4glnrSUrCQT6zfXdjES05p0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gpJBp6c7Bz6Z2 for ; Sun, 28 Jun 2026 18:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1cb55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 28 Jun 2026 18:40:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 25f255d45f2d - stable/15 - nuage.lua: add encode_base64 helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 25f255d45f2dabf38fe50659ef9c4c5f5fe36dce Auto-Submitted: auto-generated Date: Sun, 28 Jun 2026 18:40:50 +0000 Message-Id: <6a416ab2.1cb55.2e5ca909@gitrepo.freebsd.org> The branch stable/15 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=25f255d45f2dabf38fe50659ef9c4c5f5fe36dce commit 25f255d45f2dabf38fe50659ef9c4c5f5fe36dce Author: Baptiste Daroussin AuthorDate: 2026-05-07 21:53:04 +0000 Commit: Baptiste Daroussin CommitDate: 2026-06-28 18:36:23 +0000 nuage.lua: add encode_base64 helper (cherry picked from commit 71e8122b3f6efdaac23ac219312dfe270731b495) --- libexec/nuageinit/nuage.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 6cef5d2dd904..3f614dba2b22 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -55,6 +55,35 @@ local function decode_base64(input) return table.concat(result) end +local function encode_base64(input) + if input == nil or #input == 0 then + return "" + end + local b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' + local result = {} + local pos = 1 + local padding = "" + while pos <= #input do + local a = string.byte(input, pos) + local bb = pos + 1 <= #input and string.byte(input, pos + 1) or 0 + local c = pos + 2 <= #input and string.byte(input, pos + 2) or 0 + table.insert(result, string.sub(b, math.floor(a / 4) + 1, math.floor(a / 4) + 1)) + table.insert(result, string.sub(b, math.floor(a % 4 * 16 + bb / 16) + 1, math.floor(a % 4 * 16 + bb / 16) + 1)) + if pos + 1 <= #input then + table.insert(result, string.sub(b, math.floor(bb % 16 * 4 + c / 64) + 1, math.floor(bb % 16 * 4 + c / 64) + 1)) + else + table.insert(result, "=") + end + if pos + 2 <= #input then + table.insert(result, string.sub(b, math.floor(c % 64) + 1, math.floor(c % 64) + 1)) + else + table.insert(result, "=") + end + pos = pos + 3 + end + return table.concat(result) +end + local function shell_escape(s) return "'" .. string.gsub(s, "'", "'\\''") .. "'" end @@ -964,6 +993,7 @@ local n = { addsudo = addsudo, adddoas = adddoas, addfile = addfile, + encode_base64 = encode_base64, add_fstab_entry = add_fstab_entry, remove_fstab_entry = remove_fstab_entry, write_resolv_conf = write_resolv_conf,