RFC: sysctl -f filename
Alfred Perlstein
bright at mu.org
Sun Dec 2 04:26:27 UTC 2012
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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org"
>
More information about the freebsd-current
mailing list