1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-06 08:26:52 +03:00
Commit Graph

83 Commits

Author SHA1 Message Date
Kay Sievers
e14bdd88e9 libudev: monitor - add client socket filter for subsystem value
Messages send back by the udev daemon to the netlink socket are
multiplexed by the kernel and delivered to multiple clients. The
clients can upload a socket filter to let the kernel drop messages
not belonging to a certain subsystem. This prevent needless wakeups
and message processing for users who are only interested in a
subset of available events.

Recent kernels allow untrusted users to listen to the netlink
messages.

The messages send by the udev daemon are versioned, to prevent any
custom software reading them without libudev. The message wire format
may change with any udev version update.
2009-04-22 03:50:11 +02:00
Kay Sievers
4061ab9f4b libudev: GPL -> LGPL 2009-03-26 19:29:36 +01:00
Kay Sievers
f454f6708a udevadm: test - handling trailing '/' in devpath
On Wed, Mar 18, 2009 at 16:00, Matthias Schwarzott <zzam@gentoo.org> wrote:
found out how the error occurs:
It is a difference between
A. udevadm test /sys/class/mem/null/
and
B. udevadm test /sys/class/mem/null

Case A was the case that showed the error behaviour. It seems udevadm is
confused by the trailing slash. This behaviour seems to be there since ages.
2009-03-18 18:42:16 +01:00
Scott James Remnant
d7ce7539d3 Allow watch handle to be stored in the udevdb. 2009-02-23 17:31:26 +00:00
Kay Sievers
affed87af1 libudev: use 4096 bytes buffer for attribute reading 2009-01-14 21:54:31 +01:00
Kay Sievers
3d7b2831cd libudev: device - add udev_device_get_property_value() 2009-01-06 00:26:28 +01:00
Marcel Holtmann
61ee8cc92d libudev: device - remove udev_device_get_parent_with_subsystem 2009-01-03 15:12:28 +01:00
Marcel Holtmann
883012d49b libudev: device - lookup subsystem and devtype together 2009-01-03 15:12:17 +01:00
Kay Sievers
b92511747a libudev: device - read "uevent" only if info is not already loaded 2009-01-03 04:55:15 +01:00
Marcel Holtmann
bf8b2ae177 libudev: device - add devtype support 2009-01-02 04:37:04 +01:00
Kay Sievers
096e59edc9 limit $attr(<symlink>) magic to well-known links only 2008-11-17 02:01:37 +01:00
Kay Sievers
f454ecf754 libudev: device - handle disk "device" link for partitions in deprecated sysfs layout
Thanks to Mikhail Kolesnik <mike@openbunker.org> for finding this.
2008-11-14 18:26:49 +01:00
Kay Sievers
77b852f333 do not import the "uevent" file when we only read the db to get old symlinks 2008-11-05 12:23:06 +01:00
Kay Sievers
6e0cb78c9d fix cleanup of possible left-over symlinks 2008-11-05 04:45:23 +01:00
Kay Sievers
1e78dcbe51 fix list handling in enumerate and rules file sorting 2008-11-04 20:19:01 +01:00
Kay Sievers
86b5778857 move some info() to dbg() 2008-11-01 20:16:24 +01:00
Alan Jenkins
be7de4097a kerneldoc comment fixes
s/ressources/resources/

Also reduce commas per sentence and add a possessive apostrophe.
2008-10-26 15:55:47 +01:00
Kay Sievers
427e20b261 libudev: device - allocate envp array only once 2008-10-26 14:31:46 +01:00
Kay Sievers
c6243a414e test: add RUN+="socket: ..." to a test to run monitor code 2008-10-26 04:35:32 +01:00
Kay Sievers
6493e655f7 libudev: device - fill envp array while composing monitor buffer
Thanks to Alan Jenkins, for the idea.
2008-10-26 03:39:41 +01:00
Kay Sievers
b62557daff remove debug printf 2008-10-24 18:09:13 +02:00
Kay Sievers
c265440279 libudev: monitor - cache result of monitor send buffer 2008-10-24 16:36:27 +02:00
Kay Sievers
b99028c963 shrink struct udev_event 2008-10-23 02:57:08 +02:00
Alan Jenkins
111e4f81ff replace strncpy() with strlcpy()
The problem was strncpy() doesn't stop after writing the terminating
NUL; by definition it goes on to zero the entire buffer.

I spy another use of strncpy in udev_device_add_property_from_string(),
which is responsible for another ~1% user cpu time...

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21 23:55:13 +02:00
Kay Sievers
9a23e9e775 libudev: device - 128 -> ENVP_SIZE 2008-10-21 13:58:19 +02:00
Alan Jenkins
be18918f65 libudev: allocate udev_device->envp[] dynamically
Measured 2% _user_ cpu time reduction on EeePC coldplug.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21 13:56:23 +02:00
Alan Jenkins
b29a5e4ab9 use more appropriate alternatives to malloc()
Use calloc to request cleared memory instead.
Kernel and libc conspire to make this more efficient.

Also, replace one malloc() + strcpy() with strdup().

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-10-21 12:54:57 +02:00
Kay Sievers
69239210be libudev: device - get_attr_value() -> get_sysattr_value() 2008-10-20 18:12:36 +02:00
Kay Sievers
eb8837e15c udev_list_cleanup() -> udev_list_cleanup_entries() 2008-10-18 19:27:38 +02:00
Alan Jenkins
babcf3cb22 libudev: fix sysnum logic for digit-only device names 2008-10-17 13:19:54 +02:00
Kay Sievers
aa8734ffcb udevd: use libudev 2008-10-16 17:16:58 +02:00
Kay Sievers
ebacd6ecc3 libudev: device - copy global properties, unset empty properties 2008-10-16 13:53:16 +02:00
Kay Sievers
31f4b036ea libudev: device - export properties when values are set 2008-10-16 11:37:22 +02:00
Kay Sievers
5c5cad7966 libudev: device - lookup "subsystem" and "driver" only once 2008-10-15 18:34:14 +02:00
Kay Sievers
bd85566c16 libudev: update DEVLINKS property when properties are read 2008-10-15 16:56:06 +02:00
Kay Sievers
979ff016ef libudev: device - add get_envp() to construct envp from property list 2008-10-15 14:21:33 +02:00
Kay Sievers
517814e7d0 libudev: handle ! in sysname, add sysnum, return allocated list_entry on add 2008-10-14 19:53:47 +02:00
Kay Sievers
9a997ecf4e libudev: device - generate DEVNAME and DEVLINKS properties 2008-10-11 18:40:33 +02:00
Kay Sievers
9925ab0451 libudev: add udev_monitor_send_device() 2008-10-09 23:38:30 +02:00
Kay Sievers
8cd2e972e5 libudev: also prefix non-exported functions with udev_* 2008-10-09 22:24:43 +02:00
Kay Sievers
90d80c2efc libudev: device - add device lookup by subsystem:sysname 2008-10-07 20:20:34 +02:00
Kay Sievers
31441f6a4b libudev: fix typo in "multiple entries in symlink" handling 2008-10-06 18:17:27 +02:00
Kay Sievers
1e75cda345 store node name and symlinks into db symlink target if they are small enough 2008-10-06 13:52:43 +02:00
Kay Sievers
98f10a9e2a libudev: device - add get_parent_with_subsystem() 2008-10-02 21:19:00 +02:00
Kay Sievers
62b9dfb622 libudev: device - handle /sys/block/<disk-device-link>/<partition> 2008-10-01 10:22:47 +02:00
Kay Sievers
e0083e8e69 libudev: device_init() -> device_new() 2008-09-30 16:16:29 +02:00
Kay Sievers
c97f839eed libudev: enumerate - scan devices and subsystems, add subsystem and attribute filter 2008-09-30 13:42:26 +02:00
Alan Jenkins
659353f5a9 replace strerror() usage with threadsafe "%m" format string
strerror() is not threadsafe.  It uses a buffer to build messages of the form
"Unknown error 387689".

syslog() provides a %m format which is equivalent to strerror(errno).
As a GNU extension, this is also accepted by printf and friends.
At least in the current implementation, it is correctly threadsafe.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2008-09-29 17:06:00 +02:00
Kay Sievers
438d4c3cd4 libudev: enumerate - split new() and scan() 2008-09-29 02:00:17 +02:00
Kay Sievers
bc8184ede9 libudev: enumerate - accept list of subsystems to scan, or skip 2008-09-28 17:39:31 +02:00