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_at_ *\"\(.*\)\" *_at_\1_at_" -e "s_at_ *'\(.*\)' *_at_\1_at_"` 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" >Received on Sun Dec 02 2012 - 03:26:27 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:32 UTC