Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 May 2025 03:06:52 GMT
From:      "Simon J. Gerraty" <sjg@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: b0ada425efb3 - main - safe_eval allow : and + in values
Message-ID:  <202505260306.54Q36qrQ042679@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by sjg:

URL: https://cgit.FreeBSD.org/src/commit/?id=b0ada425efb3fb1b744d66bd1d0c1bbd5a7f25e6

commit b0ada425efb3fb1b744d66bd1d0c1bbd5a7f25e6
Author:     Simon J. Gerraty <sjg@FreeBSD.org>
AuthorDate: 2025-05-26 03:05:53 +0000
Commit:     Simon J. Gerraty <sjg@FreeBSD.org>
CommitDate: 2025-05-26 03:06:47 +0000

    safe_eval allow : and + in values
---
 libexec/rc/safe_eval.sh | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/libexec/rc/safe_eval.sh b/libexec/rc/safe_eval.sh
index d03eacbdff72..8aaddcaf2176 100644
--- a/libexec/rc/safe_eval.sh
+++ b/libexec/rc/safe_eval.sh
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-2-Clause
 
 # RCSid:
-#	$Id: safe_eval.sh,v 1.20 2024/08/16 00:57:58 sjg Exp $
+#	$Id: safe_eval.sh,v 1.24 2025/05/23 21:34:54 sjg Exp $
 #
 #	@(#) Copyright (c) 2023-2024 Simon J. Gerraty
 #
@@ -17,6 +17,17 @@
 
 _SAFE_EVAL_SH=:
 
+# does local *actually* work?
+local_works() {
+    local _fu
+}
+
+if local_works > /dev/null 2>&1; then
+    _local=local
+else
+    _local=:
+fi
+
 ##
 # safe_set
 #
@@ -24,7 +35,7 @@ _SAFE_EVAL_SH=:
 # any non-alphanumeric chars are replaced with '_'
 #
 safe_set() {
-    ${SED:-sed} 's/[ 	]*#.*//;/^[A-Za-z_][A-Za-z0-9_]*=/!d;s;[^A-Za-z0-9_. 	"$,/=-];_;g'
+    ${SED:-sed} 's/[ 	]*#.*//;/^[A-Za-z_][A-Za-z0-9_]*=/!d;s;[^A-Za-z0-9_. 	"$,/=:+-];_;g'
 }
 
 ##
@@ -54,7 +65,7 @@ safe_eval_export() {
 # feed all "file" that exist to safe_eval
 #
 safe_dot() {
-    eval ${local:-:} ef ex f rc
+    eval $_local ef ex f rc
     ef=
     ex=
     rc=1



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505260306.54Q36qrQ042679>