1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00
Commit Graph

3464 Commits

Author SHA1 Message Date
Lennart Poettering
c26e3f6901 sound: recognize saa7134 TV card sound devices as TV cards 2009-09-09 23:12:25 +02:00
Kay Sievers
6c29f2b942 simplify "symlink name stack"
With well defined and kernel-supplied node names, we no longer need
to support a possible stack of conflicting symlinks and node names.
Only symlinks with identical names can be claimed by multiple devices.

This shrinks the former /dev/.udev/names/ significantly.

Also the /dev/{block,char}/MAJ:MIN" links are excluded from the name
stack - they are unique and can not conflict.
2009-09-09 18:49:07 +02:00
Martin Pitt
7f06ec2e19 extras/keymap: Rename KEY_COFFEE to KEY_SCREENLOCK
Unfortunately KEY_COFFEE is the canonical name in linux/input.h, and the more
sensible KEY_SCREENLOCK is an alias. Manually override this particular case,
since it's better to have "screenlock" in keymaps.

However, we still keep the automatic filtering for the general case, to avoid
introducing this problem again when input.h changes.
2009-09-09 15:22:48 +02:00
Martin Pitt
6983c0d0f2 extras/keymap: fix hash table collisions
More than one key name was mapped to the same key, due to linux/input.h
defining some aliases (in particular, KEY_HANGUEL, KEY_SCREENLOCK,
KEY_MIN_INTERESTING). These caused hash table collisions.

Changed the generation of the tables to ignore these aliases, and updated all
keymaps to use the canonical name.

This was detected by llvm-clang-analyzer. Thanks to Lennart Poettering for
doing these checks and pointing this out!

https://launchpad.net/bugs/426647
2009-09-09 11:09:17 +02:00
Kay Sievers
78715f65c9 fix randonm findings from llvm-clang-analyzer
Thanks to Lennart for the log file!
2009-09-08 22:11:04 +02:00
Florian Zumbiehl
04d4a6f858 util_run_program(): fix possible buffer overflow #2
I'm not sure how likely it is for UTIL_PATH_SIZE to have an odd value
(maybe it has right now? :-), but I guess making this universally correct
doesn't hurt ...
2009-09-08 21:42:21 +02:00
Kay Sievers
1da6c797fd require 2.6.27 for proper signalfd handling
<zzam> kay: ping I found out why udev-145 fails on some
            systems with kernel 2.6.25 and 2.6.26
<zzam> kay: it is because glibc was compiled against linux-headers-2.6.27
            or newer and issues signalfd4 syscall which was introduced in
            kernel 2.6.27 and not older signalfd syscall
2009-09-08 14:59:50 +02:00
Martin Pitt
bfde03a149 modem-modeswitch rules: Match more devices
extras/modem-modeswitch/61-mobile-action.rules: Match on device class/subclass
"00" as well, some devices like the Vodafone K3565-Z have that.

https://launchpad.net/bugs/281335
2009-09-07 19:37:43 +02:00
Kay Sievers
335e316a71 fix whitespace 2009-09-07 12:15:29 +02:00
Kay Sievers
f55083ce34 util_run_program(): skip multiple spaces in argv creation 2009-09-07 12:13:50 +02:00
Jeremy Kerr
d412a68573 util_run_program: restore signal mask before executing event RUN commands
External programs triggered by events (via RUN=) will inherit udev's
signal mask, which is set to block all but SIGALRM. For most utilities,
this is OK, but if we start daemons from RUN=, we run into trouble
(especially as SIGCHLD is blocked).

This change saves the original sigmask when udev starts, and restores it
just before we exec() the external command.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2009-09-07 12:13:50 +02:00
Florian Zumbiehl
9e6273c713 udev_queue_get_seqnum_sequence_is_finished(): fix possible file handle leak 2009-09-07 12:13:50 +02:00
Kay Sievers
6d837a5348 udevadm: remove symlink support for old commands 2009-09-07 12:13:49 +02:00
Kay Sievers
9dae0e89b9 test: catch possible bug in GOTO resolving 2009-09-07 12:13:49 +02:00
Kay Sievers
77f89e9330 Revert "udev-rules.c: remove 'first_token' variable"
That was a mistake. The variable is needed to be set before
we parse the file. Thanks a lot to Alan Jenkins for spotting
this.

This reverts commit 710fdac1e4.
2009-09-07 12:13:49 +02:00
Martin Pitt
f61e72d897 make raw USB printer devices accessible for lp
Starting from version 1.4, cups now uses libusb and printer USB devices instead
of the usblp generated /dev/usb/lpX ones. In order to not require the cups USB
backend to run as root now, change raw USB printer devices to be root:lp 0660,
similar to usblpX devices.

This might also enable the hplip backend to not run as root, since this has
always used raw device nodes.

https://launchpad.net/bugs/420015
2009-09-04 17:12:28 +02:00
Florian Zumbiehl
6d691b2bd6 udev-rules.c: parse_file() - fix possible buffer overflow 2009-09-01 13:26:37 +02:00
Kay Sievers
710fdac1e4 udev-rules.c: remove 'first_token' variable 2009-09-01 13:16:48 +02:00
Florian Zumbiehl
8cfcf9980a udev_util_encode_string(): fix possible buffer overflow 2009-09-01 12:54:21 +02:00
Kay Sievers
0652604912 libudev-util.c: get_sys_link() - return error for empty link target 2009-09-01 12:39:57 +02:00
Florian Zumbiehl
32ecabb15d util_resolve_sys_link(): fix possible buffer overflow 2009-09-01 12:38:16 +02:00
Florian Zumbiehl
9257ecfc19 ude_rules.c: fix possible NULL pointer dereference in get_key() 2009-09-01 12:15:54 +02:00
Marco d'Itri
069eab7c96 rules: sound - do not use /usr/bin/env
The C version of path_id does not look at the environment anymore, so
there is no reason to empty it.
2009-09-01 12:05:47 +02:00
Lennart Poettering
1032141bd5 pci-db: make sure we actually read the pci.ids file instead of usb.ids
Since the recent Makefile.am rework both usb-db and pci-db were built to
read the usb.ids database file. This fix makes sure pci-db properly
reads pci.ids instead.

Originally pointed out by Marco d'Itri.
2009-09-01 04:47:16 +02:00
Kay Sievers
71b4b701b1 rules: suse - use NAME for mapper/control 2009-08-31 16:05:52 +02:00
Kay Sievers
a6c5b514d8 update README 2009-08-31 10:19:40 +02:00
Daniel Mierswa
959e8b5dec use nanosleep() instead of usleep()
POSIX.1-2001 declares usleep() function obsolete and POSIX.1-2008
removes it.

[Kay Sievers]
  - include time.h
  - use const for timespec
  - scsi_id: drop rand() in retry loop
  - modem-probe: rename msuspend() to msleep()
2009-08-30 23:58:57 +02:00
Kay Sievers
c45e221513 update TODO 2009-08-30 22:45:49 +02:00
Florian Zumbiehl
4c21b7156d util_create_path(): fix possible out of bounds array access 2009-08-30 21:40:13 +02:00
Kay Sievers
ebc1ba78ed inotify_add_watch(): do not store watch, if it failed
On Sun, Aug 30, 2009 at 04:36, Marco d'Itri<md@linux.it> wrote:
> inotify_add_watch may fail in udev_watch_begin, and then a link with
> name -1 is created.
> I do not know why, but it happened once on my system:
>
> lrwxrwxrwx 1 root root 27 Aug  4 11:27 -1 -> /devices/virtual/block/ram8
2009-08-30 20:42:06 +02:00
Florian Zumbiehl
b0de6a6327 util_delete_path(): handle multiple leading slashes 2009-08-29 16:50:43 +02:00
Kay Sievers
28da1a6186 util_create_path(): fix errno usage
Based on a patch from: Florian Zumbiehl <florz@florz.de>
2009-08-29 16:38:01 +02:00
Florian Zumbiehl
72c0373f79 util_lookup_group(): fix memory leak if realloc() fails 2009-08-29 16:25:47 +02:00
Florian Zumbiehl
f46b9c2628 util_delete_path(): use util_strscpy() 2009-08-29 16:17:54 +02:00
Kay Sievers
39087d3bdd util_unlink_secure(): chmod() before chown()
Suggested by Florian Zumbiehl <florz@florz.de>.
2009-08-29 16:10:24 +02:00
Kay Sievers
e20294e018 doc: udevadm test *does* create nodes and links these days 2009-08-27 03:57:59 +02:00
Marco d'Itri
133e51af3b doc: writing_udev_rules updated for the new command names 2009-08-27 03:57:59 +02:00
Martin Pitt
bc19bff974 Revert "extras/keymap: Fix case matching for Micro-Star"
This reverts commit 66bf63c05c.

Further debugging in https://launchpad.net/bugs/178860 showed that for some
weird reason the correct key codes already come out of the "Video Bus" input
device, and the previous commit would cause them to appear a second time
through the standard keyboard device.

This is a kernel bug in the end, but let's not break working things
prematurely.
2009-08-26 22:39:32 +02:00
Martin Pitt
66bf63c05c extras/keymap: Fix case matching for Micro-Star
Some Micro-Star boards apparently have mixed case vendor, instead of all-caps.
Update the glob to catch all such cases.

https://launchpad.net/bugs/178860
2009-08-26 19:09:06 +02:00
Kay Sievers
4851d131d6 assign errno for getgrnam_r()/getpwnam_r()
On Mon, Aug 24, 2009 at 19:50, Lennart Poettering<lennart@poettering.net> wrote:
> One little comment here: on POSIX getrnam_r() doesn't touch
> errno. Instead it returns the error value as return value.
2009-08-25 21:09:22 +02:00
Martin Pitt
d25b7205db extras/keymap: Fix hold key on Acer Aspire 6920
The Hold key locks the panel and is hardwired. It doesn't have a sensible
keycode to map to, and shouldn't be overloaded either.
2009-08-24 17:59:42 +02:00
Martin Pitt
3c47b388ee extras/modem-modeswitch: eject ZTE MF6xx fake CD-ROMs
modem-modeswitch does not fully work on ZTE MF6xx modems, their fake CD-ROMs
need to be properly ejected in order for the actual modem to appear. Add udev
rule for this device (19d2:2000 in CD-ROM mode).

https://launchpad.net/bugs/281335
2009-08-24 12:02:07 +02:00
Martin Pitt
5daaf29d71 extras/keymap: Add Acer Aspire 6920
https://launchpad.net/bugs/407940
2009-08-24 08:36:30 +02:00
Mario Limonciello
8a0217ffd4 hid2hci: remove superfluous bmAttributes match
For the retrigger of the device on remove we were trying to match bmAttributes
of self powered which is unnecessary.
2009-08-20 19:43:51 +02:00
Kay Sievers
2ffc9cc191 change database file names
With very deeply nested devices, We can not use a single file
name to carry an entire DEVPATH. Use <subsystem>:<sysname> as
the database filename, which should also simplify the handling
of devices moving around, as these values will not change but
still be unique.

For the name stack we use the <maj>:<min> now as the filename.

> On Tue, Aug 18, 2009 at 09:59:56AM -0400, Ric Wheeler wrote:
> The first is that udev grumbles during boot about "file name too long"
> like the following:
>
> Aug 17 06:49:58 megadeth udevd-event[20447]: unable to create db file
> '/dev/.udev/db/\x2fdevices\x2fpci0000:00\x2f0000:00:04.0\x2f0000:17:00.0\x2f0000:18:0a.0\x2f0000:1f:00.0\x2fhost11\x2fport-11:0\x2fexpander-11:0\x2fport-11:0:0\x2fexpander-11:1\x2fport-11:1:0\x2fexpander-11:2\x2fport-11:2:17\x2fexpander-11:3\x2fport-11:3:1\x2fend_device-11:3:1\x2fbsg\x2fend_device-11:3:1':
> File name too long
2009-08-19 20:49:49 +02:00
Kay Sievers
24d1fea8bd warn about non-readable or empty rules file 2009-08-19 07:34:07 +02:00
Kay Sievers
8e2470d68e print warning for NAME="%k" - it breaks the kernel supplied DEVNAME 2009-08-19 07:31:39 +02:00
Daniel Mierswa
8eefdffb6b don't compare a non-existing function with NULL
Obviously someone forgot something here or didn't use -ansi. Either way,
index is nowhere declared so I assume the current behaviour is to check
against the index() function coming from somewhere in the POSIX headers.
The comparison doesn't make sense then.

Signed-off-by: Daniel Mierswa <impulze@impulze.org>
2009-08-18 02:00:39 +02:00
Kay Sievers
a90221b616 update NEWS 2009-08-16 21:14:59 +02:00
Kay Sievers
9b0dded6b0 make: add comment 2009-08-16 21:14:39 +02:00