Commit Graph

74 Commits

Author SHA1 Message Date
Kay Sievers
7ba2d2e6ae apply format char to variables exported by ENV 2006-04-15 19:32:05 +02:00
Matt Kraai
00a074480e fix typo in error message 2006-04-11 19:35:52 +02:00
Kay Sievers
a4d5ca644e merge device event handling and make database content available on "remove" 2006-04-05 22:29:33 +02:00
Kay Sievers
7910248926 warn about %e, MODALIAS, $modalias 2006-03-07 23:20:10 +01:00
Kay Sievers
656ba91ee1 exit WAIT_FOR_SYSFS if the whole device goes away
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-02-15 20:43:28 +01:00
Kay Sievers
f8db897faa make WAIT_FOR_SYSFS usable in non "wait-only" rules
Thanks to Andrey Borzenkov <arvidjaar@mail.ru> for noticing this
and the initial patch to fix it.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-31 16:24:22 +01:00
Kay Sievers
9538b16d8b let SYSFS{} look at the device, not only the parent device
The stricter parent logic broke: BUS=="ide", SYSFS{removable}=="1", ...
cause removable is on the block device, which isn't a ide device.
Just look for matching attributes at the device and the selected parent
device at the same time now.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-29 17:08:44 +01:00
Kay Sievers
2c02716281 remove redundant substitution of RUN key
Thanks to Andrey Borzenkov <arvidjaar@mail.ru> for the initial patch.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-27 01:40:26 +01:00
Kay Sievers
a9bd2ed84a rename apply_format() cause it is public now
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-25 01:28:31 +01:00
Andrey Borzenkov
f5f0c34f6d substitute format chars in RUN after rule matching
Apply substitutions before running a program, not while the rule
is parsed. It allows to use environment variables set during rule
processing as command arguments.
2006-01-24 20:10:48 +01:00
Kay Sievers
03b24b71e0 fix BUS, ID, $id usage
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-16 06:12:49 +01:00
Kay Sievers
d548032795 better log test and comments
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-13 13:17:10 +01:00
Kay Sievers
1aa1e24848 replace libsysfs
We never used any of the libsysfs convenience features. Here we replace
it completely with 300 lines of code, which are much simpler and a bit
faster cause udev(d) does not open any syfs file for a simple event which
does not need any parent device information.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-09 21:18:00 +01:00
Kay Sievers
fc55cf68ca remove "udev_db" option from config file
All udev state is kept in /$udev_root/.udev/ now. No option to
configure that anymore, it will always be there.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-16 04:14:15 +01:00
Kay Sievers
c86be870ce remove all built-in wait_for_sysfs logic
Most of the issues are fixed with the kernel we depend on, for the
remaing ones see the RELEASE-NOTES for a special rule to add.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-12 04:17:48 +01:00
Marco d'Itri
ff3e4bed21 add strerror() to error logs 2005-11-07 18:44:18 +01:00
Olivier Blin
129979643f fix a debug text typo in udev_rules.c 2005-09-14 14:28:59 +02:00
Kay Sievers
2983db9745 check the udevdb before assigning a new %e
A second "add" event created a new enumeration with %e. Check the
udevdb first and if a matching name is already used.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-29 03:48:17 +02:00
Kay Sievers
b2c6818dc3 rename ...trailing_char() to ...trailing_chars()
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-28 23:15:51 +02:00
Kay Sievers
764ce7f2ab start to enforce plain ascii or valid utf8
No device node or symlink can have other characters as plain
readable ascii or valid utf8. The /dev/disk/by-label/* symlinks
can no longer contain weird stuff read from untrusted sources.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-28 15:55:58 +02:00
Kay Sievers
7104c558da don't store devpath in udevdb, we don't need it
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-27 23:27:43 +02:00
Kay Sievers
fb17920701 add and use name_list_cleanup() for cleaning up the string lists
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-27 16:15:41 +02:00
Kay Sievers
314edf3ca4 change parameter order of udev_db_search_name()
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-27 15:46:58 +02:00
Kay Sievers
8f847bb845 store ENV{key}="value" exported keys in the database
Just like the IMPORT values are stored in the udev database the
exported keys are stored in the udev database. The database is also
imported on a remove event before the rules are matched. So it
is possible to do:
  ACTION=="add", KERNEL=="sda", ENV{MY_DEVICE}="1234", RUN+="/bin/logger add $devpath"
  ACTION=="remove", ENV{MY_DEVICE}=="1234", RUN+="/bin/logger remove $devpath"

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-26 21:38:18 +02:00
Kay Sievers
5618b5611b ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environment
This can be uses to export stuff to the event environment or
to carry a state from one rule to another, like enabling/disabling
later rules conditionally.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-16 04:25:20 +02:00
Kay Sievers
40caaeec51 cleanup some debug output and move to info level + unify select() loops
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-15 11:57:04 +02:00
Kay Sievers
853ccc433c fix more compiler warnings ...
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-13 00:18:44 +02:00
Kay Sievers
4937afa402 move some logging to the info level
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-11 21:01:46 +02:00
Kay Sievers
27f877e60f allow logging of all output from executed tools
If USE_DEBUG=true and udev_log="debug", all output of the forked
programs to stdout and stderr is send to syslog.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-11 17:32:59 +02:00
Kay Sievers
13d11705bf switch some strlcpy's to memcpy
strlcpy counts the sourec string lengt and is therefore not suitable
to copy a defined length of characters from one string to another.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-08 02:21:55 +02:00
Kay Sievers
738428b449 read sysfs attribute also from parent class device
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-05 01:52:57 +02:00
Kay Sievers
e8d569b414 move code to its own files
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-22 12:35:58 -04:00
Kay Sievers
761e5b476f make SYSFS{} usable for all devices
Patch from:
  Hannes Reinecke <hare@suse.de>
2005-07-20 12:12:56 -04:00
Kay Sievers
594dd61025 allow rules to have labels and skip to next label
This will allow us to have whole blocks of rules to skip
conditionally. The following section creates the node "yes":
  GOTO="TEST"
  NAME="no"
  NAME="no2", LABEL="NO"
  NAME="yes", LABEL="TEST"
  NAME="no3"
2005-07-16 07:46:31 +02:00
Kay Sievers
c609f627fa thread unknown ENV{key} match as empty value
This way we can run a rule if a certain key is not set by:
  ENV{key}="" or ENV{key}!="?*"

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-16 05:50:34 +02:00
Anton Farygin
8cf97fb046 fix typo in GROUP value application 2005-07-14 11:39:55 +02:00
Kay Sievers
0bfb84e1ed IMPORT: add {parent} to import the persistent data of the parent device
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12 14:46:36 +02:00
Kay Sievers
0cd4ac473a allow multiple values to be matched with KEY=="value1|value2"
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12 12:52:56 +02:00
Kay Sievers
ef520ba25f remember mapped rules state
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12 11:42:39 +02:00
Kay Sievers
7b2bdb4b1b fix symlink values separated by multiple spaces
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07 23:43:13 +02:00
Kay Sievers
97c0448d9a update RELEASE-NOTES
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07 23:01:04 +02:00
Kay Sievers
613ffbeb15 fix default-name handling and NAME="" rules
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07 22:32:48 +02:00
Kay Sievers
b2fe4b9ac9 add WAIT_FOR_SYSFS key to loop until a file in sysfs arrives
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07 20:05:51 +02:00
Kay Sievers
8bd41f36f7 pack parsed rules list
This cuts down our 600 rules file to 98 kb instead of 1.9 Mb memory
or file-size with precompiled rules.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-05 15:24:41 +02:00
Kay Sievers
6369839195 replace useless defines by inline text
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-04 20:42:04 +02:00
Kay Sievers
a0e5382d66 move rule matches to function
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-04 19:44:25 +02:00
Kay Sievers
ffd5c68937 allow OPTIONS to be recognized for /sys/modules /sys/devices events
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-03 14:31:17 +02:00
Kay Sievers
aaff09a30a add ID_TYPE to the id probers
Export the type of device from ata_id and scsi_id, also strip
leading and trailing whitespace and substitute consecutive
whitespace with a single underline char.

From: Hannes Reinecke <hare@suse.de>
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-27 17:04:56 +02:00
Kay Sievers
b8476286d6 store the imported device information in the udevdb
Any program can query with udevinfo for persistent device
attributes evaluated on device discovery now.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-26 18:55:24 +02:00
Kay Sievers
319c670016 IMPORT allow to import program returned keys into the env
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25 18:58:49 +02:00