summaryrefslogtreecommitdiff
path: root/udev_rules.c
AgeCommit message (Collapse)Author
2005-09-14fix a debug text typo in udev_rules.cOlivier Blin
2005-08-29check the udevdb before assigning a new %eKay Sievers
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-28rename ...trailing_char() to ...trailing_chars()Kay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-28start to enforce plain ascii or valid utf8Kay Sievers
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-27don't store devpath in udevdb, we don't need itKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-27add and use name_list_cleanup() for cleaning up the string listsKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-27change parameter order of udev_db_search_name()Kay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-26store ENV{key}="value" exported keys in the databaseKay Sievers
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-16ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environmentKay Sievers
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-15cleanup some debug output and move to info level + unify select() loopsKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-13fix more compiler warnings ...Kay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-11move some logging to the info levelKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-11allow logging of all output from executed toolsKay Sievers
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-08switch some strlcpy's to memcpyKay Sievers
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-05read sysfs attribute also from parent class deviceKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-22move code to its own filesKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-20make SYSFS{} usable for all devicesKay Sievers
Patch from: Hannes Reinecke <hare@suse.de>
2005-07-16allow rules to have labels and skip to next labelKay Sievers
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-16thread unknown ENV{key} match as empty valueKay Sievers
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-14fix typo in GROUP value applicationAnton Farygin
2005-07-12IMPORT: add {parent} to import the persistent data of the parent deviceKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12allow multiple values to be matched with KEY=="value1|value2"Kay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12remember mapped rules stateKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07fix symlink values separated by multiple spacesKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07update RELEASE-NOTESKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07fix default-name handling and NAME="" rulesKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07add WAIT_FOR_SYSFS key to loop until a file in sysfs arrivesKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-05pack parsed rules listKay Sievers
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-04replace useless defines by inline textKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-04move rule matches to functionKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-03allow OPTIONS to be recognized for /sys/modules /sys/devices eventsKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-27add ID_TYPE to the id probersKay Sievers
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-26store the imported device information in the udevdbKay Sievers
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-25IMPORT allow to import program returned keys into the envKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25unify execute_command() and execute_program()Kay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25IMPORT=<file> allow to import a shell-var style config-fileKay Sievers
This allows to source-in a file into the udev environment to have the defined keys available for later processing by udev itself or the forked helper programs. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-24allow rules to be compiled to one binary fileKay Sievers
All the rule files can be compiled into a single file, which can be mapped into the udev process to avoid parsing the rules with every event. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-20prepare for module loading rules and add MODALIAS keyKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05udev: handle all events - not only class and block devicesKay Sievers
Handle all events with rules. If udev is expected to handle hotplug.d/ the exernal helper must be called. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05udev: clear lists if a new value is assignedKay Sievers
Former values are cleared if SYMLINK=<value> is used. To add a value SYMLINK+=<value> is now needed. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05udev: allow final assignments :=Kay Sievers
The use of KEY:=<value> will make the key unchangeable by later rules. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-04-26[PATCH] add RUN key to be able to run rule based notificationkay.sievers@vrfy.org
SUBSYSTEM=="block", RUN="/sbin/program" will execute the program only for block device events. ACTION="remove", SUBSYSTEM=="block", RUN"/sbin/program" will execute the program, if a block device is removed.
2005-04-26[PATCH] move execute_program to utils + add action to init_devicekay.sievers@vrfy.org
2005-04-26[PATCH] correct correction for error path for PROGRAM executionkay.sievers@vrfy.org
2005-04-26[PATCH] correct error path for PROGRAM executionkay.sievers@vrfy.org
2005-04-26[PATCH] check for strlen()==0 before accessing strlen()-1kay.sievers@vrfy.org
2005-04-26[PATCH] allow to match against empty key valueskay.sievers@vrfy.org
2005-04-26[PATCH] read %s{}-sysfs values at any device in the chainkay.sievers@vrfy.org
2005-04-26[PATCH] udev_rules.c: don't change sysfs_device while walking up the device ↵kay.sievers@vrfy.org
chain
2005-04-26[PATCH] remove untrusted chars read from sysfs-values or returned by PROGRAMkay.sievers@vrfy.org
Better remove characters that are useless in a device node name. It may be a security risk to pass any character read from e.g. a sysfs attribute to a shell script we execute later. Prevent the modification of the libsysfs attribute value cache. Clear PROGRAM result if the execution encountered an error.