From nobody Thu Mar 30 04:54:24 2023 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 4PnB0d00FDz42Qyt; Thu, 30 Mar 2023 04:54:25 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PnB0c6dMnz3qGp; Thu, 30 Mar 2023 04:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680152064; 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=ykOQiyN5pHdyRPbv7BTaWLgh03OTG9sCsWAOyPDFmm0=; b=Oy5dw8XpZBAwDHyt8lfNS6LOAUNIo4tqwvPn1mx/i2f4RlDKOBATHM4/jRiKFFr1pEyqOi Y3KwWyE6wfq7GFAnWOSjK5ORiWBeKVxQGBloipdx986AVSIYzDmthA9oxghaH2TQoJz9jC Z7AtMbP/jHcebC2qlERpm58Z23zsVL4MejPdDQLQN+XGb3+7zC+2hRwWX01Fy2lougThfK w3p7PnolFq/sXGB+oZELBecG91Hm0HhAmjdL44qpPJ6ek3DS1Zh74SRGNqtP4ou+9a1ODY aNIPXtsidKcM4O+dmX1uagj/mPdTZjkHNkNRXOHvfAacdBvf4AmppwPCHXWKKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680152064; 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=ykOQiyN5pHdyRPbv7BTaWLgh03OTG9sCsWAOyPDFmm0=; b=wh+oJaF/cASOsmaT0qVe8XXKGbZZB46jmLCfwnyWIh0kjoiAN/4u56AHpGd7UFhPl+LCUI VN0uWvYNjKUhpDGVgYIYaopYAMGE5Y5e9LIFbe15oBtkykBf249GM83nyD5UbqSMZ4mNNe YTs4R9+iZ8Jk3DPDpkUsZ8dzrJ54tIapRCrkkiYx/bGq4YR8ECno7K6lOSoL5FWaJqPvEx 0Wq7gjFtbPKzAsJNde9dl2ahvKcRriOAoIdvthYQq3FooxjYOinPj5YI7kM35TnJYunuuR HGgW7x2fwGl7eXvv5GGLHwupUR6GOJ3hjEeisTqAwVmM5Je32AhsQR1LsW/1Pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680152064; a=rsa-sha256; cv=none; b=DgYEeOE3bYGEmeZgi0Lq5RGlT7tvaLxxpLbMGftXboPMT38EkWTdmA6iOTCHLaFIivkQI9 anKYZygj5WpYVIIpIuu/c0uStm0WmBMCrkQy/Y2cpSajifZuHRA7Lk2yO1j7QmY6FOtkm4 IEeYqa53t3wa5em0BZt0SKXQHRIGccAp9ASbPOa3a/90fvx6RrS8zOVP54xvJXF1Vf0oBh M1P06ykoH/vhebMJq3SnHenSIMZHguGMHGwHyEd4FGE8nztj+sX7ziTq8BysZmot/RygTf JbU5GJECFIkrw/m/WitVAhH4HV6TSAEpiX+bIEcq/0z0X2hlI7A+NejJQ6+Epg== 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 4PnB0c5jmKzygt; Thu, 30 Mar 2023 04:54:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32U4sOtd025844; Thu, 30 Mar 2023 04:54:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32U4sOub025843; Thu, 30 Mar 2023 04:54:24 GMT (envelope-from git) Date: Thu, 30 Mar 2023 04:54:24 GMT Message-Id: <202303300454.32U4sOub025843@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 0ec03c0b10b1 - main - cross-build: Add secure_getenv() for MacOS cross builds 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ec03c0b10b125f5996d59fee904248978981898 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0ec03c0b10b125f5996d59fee904248978981898 commit 0ec03c0b10b125f5996d59fee904248978981898 Author: Mark Johnston AuthorDate: 2023-03-28 12:55:17 +0000 Commit: Mark Johnston CommitDate: 2023-03-30 04:54:13 +0000 cross-build: Add secure_getenv() for MacOS cross builds Reviewed by: arichardson Fixes: 68ca8363c7a1 ("libc: Use secure_getenv(3) where appropriate") Differential Revision: https://reviews.freebsd.org/D39295 --- tools/build/Makefile | 10 ++++++++-- tools/build/cross-build/include/mac/stdlib.h | 1 + tools/build/cross-build/secure_getenv.c | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/tools/build/Makefile b/tools/build/Makefile index 97e0bfe8f4f7..922d86dba7e7 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -204,7 +204,13 @@ CFLAGS.closefrom.c+= -DSTDC_HEADERS -DHAVE_SYS_DIR_H -DHAVE_DIRENT_H \ SRCS+= progname.c # Stub implementations of fflagstostr/strtofflags SRCS+= fflags.c -.endif +.endif # ${MAKE.OS} == "Linux" + +.if ${.MAKE.OS} == "Darwin" +# Standalone implementation of secure_getenv(), not available on MacOS. +SRCS+= secure_getenv.c +.endif # ${MAKE.OS} == "Darwin" + # Provide the same arc4random implementation on Linux/macOS CFLAGS.arc4random.c+= -I${SRCTOP}/sys/crypto/chacha20 -D__isthreaded=1 SRCS+= arc4random.c arc4random_uniform.c @@ -227,7 +233,7 @@ subr_capability.c: ${SRCTOP}/sys/kern/subr_capability.c cp ${.ALLSRC} ${.TARGET} SRCS+= subr_capability.c CLEANFILES+= subr_capability.c -.endif +.endif # ${MAKE.OS} != "FreeBSD" CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_fileargs/cap_fileargs.h CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_net/cap_net.h diff --git a/tools/build/cross-build/include/mac/stdlib.h b/tools/build/cross-build/include/mac/stdlib.h index 314ae0d1dca6..c0c82751fb13 100644 --- a/tools/build/cross-build/include/mac/stdlib.h +++ b/tools/build/cross-build/include/mac/stdlib.h @@ -42,6 +42,7 @@ __BEGIN_DECLS int rpmatch(const char *response); +char *secure_getenv(const char *name); long long strtonum(const char *numstr, long long minval, long long maxval, const char **errstrp); diff --git a/tools/build/cross-build/secure_getenv.c b/tools/build/cross-build/secure_getenv.c new file mode 100644 index 000000000000..466035f31a40 --- /dev/null +++ b/tools/build/cross-build/secure_getenv.c @@ -0,0 +1,16 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Mark Johnston + */ + +#include +#include + +char * +secure_getenv(const char *name) +{ + if (issetugid() != 0) + return (NULL); + return (getenv(name)); +}