On 12/1/12 8:22 PM, Alfred Perlstein wrote:
Does sysctl(8) really need to learn to parse files?
Can't rc.d/sysctl be modified to do the fixup?
This regex seems to work:
val=`echo $val | sed -e "s@ *\"\(.*\)\" *@\1@" -e "s@ *'\(.*\)' *@\1@"`
Upon catching up with emails and seeing netbsd's code, I want to say I
don't feel that strongly about this, although I do wonder how the patch
handles trailing whitespace since I wasn't able to test it:
example:
"kern.foo='bar'...."
replace the "...." with spaces.
-Alfred
-Alfred
On 12/1/12 8:50 AM, Hiroki Sato wrote:
Hi,
I would like comments about the attached patch for sysctl(8) to add a
new option "-f filename". It supports reading of a file with
key=value lines.
As you probably know, we already have /etc/sysctl.conf and it is
processed by rc.d/sysctl shell script in a line-by-line basis. The
problem I want to fix is a confusing syntax of /etc/sysctl.conf. The
file supports a typical configuration file syntax but problematic in
some cases. For example:
kern.coredump=1
works well in /etc/sysctl.conf, but
kern.coredump="1"
does not work. Similarly, it is difficult to use whitespaces and "#"
in the value:
OK: kern.domainname=domain\ name\ with\ spaces
NG: kern.domainname="domain name with spaces"
NG: kern.domainname=domain\ name\ including\ #\ character
NG: kern.domainname=domain\ name\ including\ \#\ character
The attached patch solves them, and in addition it displays an error
message with a line number if there is something wrong in the file
like this:
% cat -n /etc/sysctl.conf
...
10 kern.coredump=1
11 kern.coredump2=1
...
% /etc/rc.d/sysctl start
sysctl: kern.coredump at line 10: Operation not permitted
sysctl: unknown oid 'kern.coredump2' at line 11
# /etc/rc.d/sysctl start
kern.coredump: 1 -> 1
sysctl: unknown oid 'kern.coredump2' at line 11
Any comments are welcome.
-- Hiroki
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to
"freebsd-current-unsubscr...@freebsd.org"
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"