its now possible to have percentage before and after a variable. except
for the date. But percentage with dates does not make much sense to me, so
i skipped it.
Since the following commit in the Linux kernel tree
0fdc100bdc4b ethtool: allow non-netadmin to query settings
it is no longer necessary to have the CAP_NET_ADMIN capability to query
a device speed using ioctl(..., SIOCETHTOOL) in conjonction with the
ETHTOOL_GSET ethtool command.
The mentioned commit landed first in the 2.6.37 version of the Kernel.
This version is no longer maintained nowdays.
Since it is not necessary anymore, it is strongly prefered from a
security standpoint to drop the CAP_NET_ADMIN capability from the
binary.
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
- Don't apply IFM_SUBTYPE to the raw subtype in the description table.
IFM_SUBTYPE() requires a fully populated word and was truncating values
in the table when comparing resulting in false matches (notably
"10GBase-KX4" for the no media case) after recent changes to add extended
Ethernet media states in FreeBSD.
- Explicitly check for IFM_ETHER.
- Use SIOCGIFXMEDIA when present to obtain extended media states on newer
kernels.
- Explicitly handle "no carrier".
On laptops one may want to have all interfaces up in order to let network
prioritization manage switching between wired and wireless connection. In such
cases lack of IP address is a useful hint about currently used interface, and
color-coding makes it stand out more.
We finally switched to libconfuse for a configuration file format
which does not require much work for the programmer nor for the user.
Plus, it avoids the Not-Invented-Here syndrome of yet another config
file format.
Furthermore, as a consequence of providing format strings for every
"module" (ipv6, wireless, …), we directly print the output and thus
we needed to drop support for wmii. This allowed us to get rid of
quite some complexity.
Documentation about the new configuration file and options will
follow. This commit is the beginning of what will be i3status v2.0.