chiark / gitweb /
sysctl: make --prefix allow all kinds of sysctl paths
authorDavid Herrmann <dh.herrmann@gmail.com>
Wed, 17 Sep 2014 07:06:49 +0000 (09:06 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Wed, 17 Sep 2014 07:11:02 +0000 (09:11 +0200)
commit0e1f579227b08832437a7ac2227c7e4007a89d23
tree0f3d009c05ec9897a4706037fd0664d1dc256ca9
parent42646a8bf24be2c9280554c9d8540c67c835b3c4
sysctl: make --prefix allow all kinds of sysctl paths

Currently, we save arguments passed as --prefix directly and compare them
later to absolute sysctl file-system paths. That is, you are required to
specify arguments to --prefix with leading /proc/sys/. This is kinda
uselesss. Furthermore, we replace dots by slashes in the name, which makes
it impossible to match on specific sysfs paths that have dots in their
name (like netdev names). The intention of this argument is clear, but it
never worked as expected.

This patch modifies --prefix to accept any kind of sysctl paths. It
supports paths prefixed with /proc/sys for compatibility (but drops the
erroneous dot->slash conversion), but instead applies normalize_sysctl()
which turns any name or path into a proper path. It then appends
/proc/sys/ so we can properly use it in matches.

Thanks to Jan Synacek <jsynacek@redhat.com> for catching this!
src/sysctl/sysctl.c