summaryrefslogtreecommitdiff
path: root/src/udev
AgeCommit message (Collapse)Author
2013-10-29udev: link-config - split connection to sockets from loading of configsTom Gundersen
We want to load the config in _init, but not connect to the sockets before we are forked.
2013-10-29rtnl: introduce default timeoutTom Gundersen
We set it to 10 secs (as we are only communicating with the kernel, it seems we should be able to bail out sooner than sd-bus, which uses 25). When passing timout 0, the default is used, use this in link-config.
2013-10-29udev: link-config - use safe_atou instead of strtoulTom Gundersen
2013-10-29udev: link-config - use zero instead of memsetTom Gundersen
2013-10-29udev: link-config - use proper return valuesTom Gundersen
Not sure if -ENOENT is the correct return value for when no persistent network name is set, but couldn't think of anything better.
2013-10-29udev: link-config - use new0 instead of callocTom Gundersen
2013-10-29udev: link-config - use _cleanup_ macro locallyTom Gundersen
2013-10-29path_check_timestamp: only keep the most recent timestampTom Gundersen
There is no point in keeping one timestamp for each directory, as we only ever care about the most recent one.
2013-10-29udev: link-config - add proper parsingTom Gundersen
2013-10-29udev: builtin - rename net_link to net_setup_linkTom Gundersen
Also add shell completions.
2013-10-29network: move configuration to /etc/systemd/networkTom Gundersen
This is private configuraiton, so let's not pollute the namespace (and hence make Debian happy :) ).
2013-10-28udev: link-config - add mac address policyTom Gundersen
This introduces a new key MACAddressPolicy. The possible policies are 'persistent' and 'random'. 'persistent' will do nothing if the current address is the hardware address, but if the hardware does not have an address (or another address is set for whatever reason), we will generate an address which will be random, but persistent between boots (based on machineid and persistent netif name). 'random' will do nothing if the kernel already set a random address, otherwise it will generate a random one and use that instead. This patch sets MACAddressPolicy=persistent in the default .link file.
2013-10-28udev: link-config - move naming policy from udev rulesTom Gundersen
This introduces a new key NamePolicy, which takes an ordered list of naming policies. The first successful one is applide. If all fail the value of Name (if any) is used. The possible policies are 'onboard', 'slot', 'path' and 'mac'. This patch introduces a default link file, which replaces the equivalent udev rule.
2013-10-27udev: link-config - sanity check the ifname and mac addressTom Gundersen
2013-10-27udev: link-config: add rtnl supportTom Gundersen
This adds support for setting the mac address, name and mtu. Example: [Link] MTU=1450 MACAddress=98:76:54:32:10:ab Name=wireless0
2013-10-26udev: link-config: add ethtool supportTom Gundersen
This adds support for setting the link speed, duplex and WakeOnLan settings. Example: [Link] SpeedMBytes=100 Duplex=half WakeOnLan=magic
2013-10-26udev: add network link configuration toolTom Gundersen
This tool applies hardware specific settings to network devices before they are announced via libudev. Settings that will probably eventually be supported are MTU, Speed, DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware', 'synthetic' or 'random'), Name and NamePolicy (replacing our current interface naming logic). This patch only introduces support for Description, as a proof of concept. Some of these settings may later be overriden by a network management daemon/script. However, these tools should always listen and wait on libudev before touching a device (listening on netlink is not enough). This is no different from how things used to be, as we always supported changing the network interface name from udev rules, which does not work if someone has already started using it. The tool is configured by .link files in /etc/net/links/ (with the usual overriding logic in /run and /lib). The first (in lexicographical order) matching .link file is applied to a given device, and all others are ignored. The .link files contain a [Match] section with (currently) the keys MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this matches on the stable device path as exposed as ID_PATH, and not the unstable DEVPATH). A .link file matches a given device if all of the specified keys do. Currently the keys are treated as plain strings, but some limited globbing may later be added to the keys where it makes sense. Example: /etc/net/links/50-wireless.link [Match] MACAddress=98:f2:e4:42:c6:92 Path=pci-0000:02:00.0-bcma-0 Type=wlan [Link] Description=The wireless link
2013-10-26udev-builtin: path_id - add support for bcma busTom Gundersen
This matches the bcma support in the network device naming. Eventually wa want to make sure ID_PATH is equivalent to ID_NET_NAME_PATH, so we never need to match on the latter.
2013-10-26udev: move udev_rules_check_timestamp to sharedTom Gundersen
I want to use this from a bulitin in a subsequent patch.
2013-10-19udev-builtin: uaccess - inherit logging form udevTom Gundersen
Not that it makes a difference in this builtin, but otherwise /etc/udev/udev.conf is not respected.
2013-10-16macro: clean up usage of gcc attributesLennart Poettering
Always use our own macros, and name all our own macros the same style.
2013-10-13udev: use initialization instead of zeroing in one placeZbigniew Jędrzejewski-Szmek
2013-10-13Fix write-only use of a few variablesZbigniew Jędrzejewski-Szmek
Since the invention of read-only memory, write-only memory has been considered deprecated. Where appropriate, either make use of the value, or avoid writing it, to make it clear that it is not used.
2013-10-11udev: usb_id - remove obsoleted bInterfaceSubClass == 5 matchKay Sievers
bInterfaceSubClass == 5 is not a "floppy"; just identify the obsolete QIC-157 interface as "generic".
2013-10-11smack: minimize ifdef use, and move all labeling to smack-util.cKay Sievers
2013-10-10security: rework selinux, smack, ima, apparmor detection logicLennart Poettering
Always cache the results, and bypass low-level security calls when the respective subsystem is not enabled.
2013-10-09udev: add SECLABEL{selinux}= supportKay Sievers
2013-10-09udev: reset Linux Security Module labels if no custom rules are givenKay Sievers
2013-10-08udev: support custom Linux Security Module labels for device nodesKay Sievers
2013-09-19udev-builtin-blkid: export ID_PART_TABLE_UUIDDave Reisner
2013-09-17udev: path_id - fix by-path link generation for scm devicesSebastian Ott
Set some_transport = true to prevent scm devices from being ignored. Suggested-by: Harald Hoyer <harald@redhat.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
2013-09-16udev-rules: avoid erroring on trailing whitespaceDave Reisner
https://bugs.archlinux.org/task/36950
2013-08-23udev: fix printf(3) type specifierShawn Landden
src/udev/udev-rules.c: In function 'add_rule': src/udev/udev-rules.c:1078:33: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'int' [-Wformat=] log_error("invalid key/value pair in file %s on line %u," ^
2013-08-22Revert "udevd: simplify sigterm check"Colin Walters
This reverts commit 47e737dc13bf4251ae5a2249ec29b34503ed92e1 - it introduced a use-after-free. The only way the code would get simpler is with a cleanup function, but eh, not worth it for just this one bit. Reviewed by kay on IRC.
2013-08-20udev: when complaining about invalid characters, print them outZbigniew Jędrzejewski-Szmek
systemd-udevd[6260]: invalid key/value pair in file /usr/lib/udev/rules.d/60-ffado.rules on line 46,starting at character 84 ('#')
2013-08-15udevd: simplify sigterm checkKay Sievers
2013-08-09udevd: respect the log-level set in /etc/udev/udev.confTom Gundersen
A regression introduced when we moved to systemd's logging is that the only way to adjust the log-level of the udev daemon is via the env var, kernel commandline or the commandline. This reintroduces support for specifying this in the configuration file.
2013-08-07udev: hwdb - try reading modalias for usb before falling back to the ↵Kay Sievers
composed one
2013-07-29udev-rules: report rule parsing errors from get_keyDave Reisner
2013-07-24udev: static_node - don't touch permissions uneccessarilyTom Gundersen
Don't set default permissions if only TAGS were specified in a rule.
2013-07-24udev: log error if chmod/chown of static dev nodes failsTom Gundersen
2013-07-19udev: fix two trivial memleaks in error pathZbigniew Jędrzejewski-Szmek
Based-on-a-patch-by: Ian Stakenvicius <axs@gentoo.org>
2013-07-16udev: export tags of "dead" device nodes to /run/udev/static_node-tags/Tom Gundersen
Based on a patch by Kay Sievers. A tag is exported at boot as a symlinks to the device node in the folder /run/udev/static_node-tags/<tagname>/, if the device node exists. These tags are cleaned up by udevadm info --cleanup-db, but are otherwise never removed.
2013-07-16switch from udev keymaps to hwdbKay Sievers
2013-07-16keymap: Drop non-existant Samsung 900XC3Martin Pitt
Revert commit 90fc91d0065 again. There is no 900XC3 model, that's 900X3C and already covered by the 900X3* match. See https://launchpad.net/bugs/1012365
2013-07-10udev: add builtin 'keyboard' to manage key mappingsKay Sievers
2013-07-10hwdb: allow list of lookup keys per given recordKay Sievers
This allows to specify: dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr* dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr* KEY_A=value KEY_B=value Instead of: dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Model 231*:pvr* KEY_A=value KEY_B=value dmi:bvn*:bvr*:bd*:svnVENDOR:pn:Series 12*:pvr* KEY_A=value KEY_B=value
2013-07-09hwdb: return false if no property is foundKay Sievers
2013-07-08static-nodes: move creation of static nodes from udevd to tmpfilesTom Gundersen
As of kmod v14, it is possible to export the static node information from /lib/modules/`uname -r`/modules.devname in tmpfiles.d(5) format. Use this functionality to let systemd-tmpfilesd create the static device nodes at boot, and drop the functionality from systemd-udevd. As an effect of this we can move from systemd-udevd to systemd-tmpfiles-setup-dev: * the conditional CAP_MKNOD (replaced by checking if /sys is mounted rw) * ordering before local-fs-pre.target (see 89d09e1b5c65a2d97840f682e0932c8bb499f166)
2013-07-08hwdb: add --lookup-prefix= optionKay Sievers