RFC: sysctl -f filename

Hiroki Sato hrs at FreeBSD.org
Sat Dec 1 16:51:14 UTC 2012


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sysctl_20121201-1.diff
Type: text/x-patch
Size: 10892 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20121202/908254b9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20121202/908254b9/attachment.sig>


More information about the freebsd-current mailing list