summaryrefslogtreecommitdiff
path: root/src/libudev
AgeCommit message (Collapse)Author
2014-02-21Add missing REENABLE_WARNING and unlink_noerrno()Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-21macro: introduce a nice macro for disabling -Wformat-nonliteral temporarilyAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-21everywhere: make use of new0() and macro() macros, and stop using perror()Lennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-02use memzero(foo, length); for all memset(foo, 0, length); callsGreg KH
In trying to track down a stupid linker bug, I noticed a bunch of memset() calls that should be using memzero() to make it more "obvious" that the options are correct (i.e. 0 is not the length, but the data to set). So fix up all current calls to memset(foo, 0, length) to memzero(foo, length). Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-25src/libudev/util.h: import FORMAT_TIMESPAN_MAX for selinuxAnthony G. Basile
When configure --enable-selinux, we hit a compile time error with a missing definition of FORMAT_TIMESPAN_MAX. This was imported from upstream's src/shared/time-util.h into our src/libudev/util.h. Thanks Amadeusz Sławiński <amade@asmblr.net> X-Gentoo-Bug: 499252 X-Gentoo-Bug-URL: https://bugs.gentoo.org/499252 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-20libudev-util.c: Handle -1 return from sysconf(_SC_GET{PW,GR}_R_SIZE_MAX)Michael Forney
POSIX says: Note that sysconf(_SC_GETGR_R_SIZE_MAX) may return -1 if there is no hard limit on the size of the buffer needed to store all the groups returned. The example from POSIX uses a default buffer size of 1024 in that case. Signed-off-by: Michael Forney <mforney@mforney.org>
2014-01-20libudev-util.c: Fix sysconf variable for util_lookup_groupMichael Forney
Signed-off-by: Michael Forney <mforney@mforney.org>
2014-01-20libudev/sparse-endian.h: include header which defines __bswap_XXrofl0r
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-20libudev/path-util.c: remove usage of canonicalize_file_name()rofl0r
this is a glibc specific alias for realpath(path, NULL). to be portable, we need to use the real thing which is even less verbose. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-14src/libudev: bring in line with upstreamAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-13src/udev: bring up to date with upstream.Anthony G. Basile
These commits were authored by Zbigniew Jędrzejewski-Szmek Tom Gundersen Kay Sievers Lennart Poettering Shawn Landden Daniel Buch Martin Pitt Karel Zak Yang Zhiyong Note: udev_builtin_net_setup_link has *not* been imported. Also still missing from udev-builtin is udev_builtin_uaccess. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-11src/udev/path-util.[ch]: remove duplicatesAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: ship the original MurmurHash2.[ch] fileKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09src/libudev/util.h: add missing FOREACH_LINEAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: monitor - only disallow "udev" type eventsKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: disable monitor inside a containerKay Sievers
Uevents are events of the host, which should not leak into a container. Containers do not support hotplug at the moment, and devices and uevents are not namespace aware. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09bus: catch up with kdbus changesKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: devices received from udev are always initializedKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09Add more _printf_'s for format-nonliteralsThomas Hindoe Paaboel Andersen
Clang is a bit more strict wrt format-nonliterals: http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking Adding these extra printf attributes also makes gcc able to find more problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c Some parts looked intetional about breaking the format-nonliteral check. I added some supression for warnings there. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: hwdb - use libudev not systemd loggingKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09docs: remove unneeded the's in gudev docsZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=72164 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: always return NULL in _unref() APIsLennart Poettering
Returning anything else but NULL would suggest the caller's reference might still be valid, but it isn't, because the caller just invoked _unref() after all. This turns the return value into a typesafe shortcut that allows unreffing and resetting a reference in one line. In contrast to solutions for this which take a pointer to a pointer to accomplish the same this solution is just syntactic sugar the developer can make use of but doesn't have to, and this is particularly useful when immediately unreffing objects returned by function calls. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09libudev: always return valid negative error codes on API functionsLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09Remove duplicate includesKarel Zak
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09udev: declare some symbols staticKay Sievers
2014-01-09udev: declare some symbols staticKay Sievers
2014-01-09libudev: default log_priority to INFOTom Gundersen
This brings it in sync with the default config file. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09macro: clean up usage of gcc attributesLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09build-sys: libudev - get rid of the needless selinux linking (again)Kay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09Never call qsort on potentially NULL arraysZbigniew Jędrzejewski-Szmek
This extends 62678ded 'efi: never call qsort on potentially NULL arrays' to all other places where qsort is used and it is not obvious that the count is non-zero. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09device-nodes: move device node specific code to own fileDave Reisner
In the process, rename udev_encode_string which is poorly named for what it does. It deals specifically with encoding names that udev creates and has its own rules: utf8 is valid but some ascii is not (e.g. path separators), and everything else is simply escaped. Rename it to encode_devnode_name. Adopted for eudev: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-09move utf8 functions from libudev-private.h to utf8.hDave Reisner
There's now some more obvious overlap amongst the two utf8 validation functions, but no more than there already was previously. This also adds some menial tests for anyone who wants to do more merging of these two in the future. Adopted for eudev: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-10-25libudev-util.c: Handle -1 return from sysconf(_SC_GET{PW,GR}_R_SIZE_MAX)Michael Forney
POSIX says: Note that sysconf(_SC_GETGR_R_SIZE_MAX) may return -1 if there is no hard limit on the size of the buffer needed to store all the groups returned. The example from POSIX uses a default buffer size of 1024 in that case. Signed-off-by: Michael Forney <mforney@mforney.org>
2013-10-25libudev-util.c: Fix sysconf variable for util_lookup_groupMichael Forney
Signed-off-by: Michael Forney <mforney@mforney.org>
2013-09-26src/libudev/log.c: remove code to log to journalAnthony G. Basile
We remove all code which logs to the journal, preserving only write_to_console(), write_to_syslog() and write_to_kmsg(). https://github.com/gentoo/eudev/issues/77 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-09-14libudev: fix move_later comparisoneudev/v1.3Lukas Nykryn
At the beginning move_later is set to -1, but it is set to different value only if expression !move_later is true.
2013-09-10src/libudev/util.c: reintroduce cescape and octcharAnthony G. Basile
2013-09-10libudev: enumerate - do not try to match against an empty subsystemKay Sievers
2013-09-10libudev: enumerate: fix NULL-deref for subsystem-matchesDavid Herrmann
udev_device_get_subsystem() may return NULL if no subsystem could be figured out by libudev. This might be due to OOM or if the device disconnected between the udev_device_new() call and udev_device_get_subsystem(). Therefore, we need to handle subsystem==NULL safely. Instead of testing for it in each helper, we treat subsystem==NULL as empty subsystem in match_subsystem(). Backtrace of udev_enumerate with an input-device disconnecting in exactly this time-frame: (gdb) bt #0 0x00007ffff569dc24 in strnlen () from /usr/lib/libc.so.6 #1 0x00007ffff56d9e04 in fnmatch@@GLIBC_2.2.5 () from /usr/lib/libc.so.6 #2 0x00007ffff5beb83d in match_subsystem (udev_enumerate=0x7a05f0, subsystem=0x0) at src/libudev/libudev-enumerate.c:727 #3 0x00007ffff5bebb30 in parent_add_child (enumerate=enumerate@entry=0x7a05f0, path=<optimized out>) at src/libudev/libudev-enumerate.c:834 #4 0x00007ffff5bebc3f in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x7a56b0 "/sys/devices/<shortened>/input/input97", maxdepth=maxdepth@entry=254) at src/libudev/libudev-enumerate.c:866 #5 0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x79e8c0 "/sys/devices/<shortened>/input", maxdepth=maxdepth@entry=255) at src/libudev/libudev-enumerate.c:868 #6 0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=path@entry=0x753190 "/sys/devices/<shortened>", maxdepth=maxdepth@entry=256) at src/libudev/libudev-enumerate.c:868 #7 0x00007ffff5bec7df in scan_devices_children (enumerate=0x7a05f0) at src/libudev/libudev-enumerate.c:882 #8 udev_enumerate_scan_devices (udev_enumerate=udev_enumerate@entry=0x7a05f0) at src/libudev/libudev-enumerate.c:919 #9 0x00007ffff5df8777 in <random_caller> () at some/file.c:181
2013-09-10libudev: fix memleak when enumerating childsDavid Herrmann
We need to free udev-devices again if they don't match. Funny that no-one noticed it yet since valgrind is quite verbose about it. Fix it and free non-matching devices.
2013-09-10libudev-enumerate.c:udev_enumerate_get_list_entry() fixed possible stale pointerHarald Hoyer
If a realloc() happens in syspath_add(), the move_later pointer could point to an invalid memory region. Let move_later store the array index, instead of the pointer to the entry.
2013-09-10typo fixes in man and commentsThomas Hindoe Paaboel Andersen
2013-09-10libudev: fix hwdb validation to look for the *new* fileKay Sievers
2013-08-16libudev/sparse-endian.h: include header which defines __bswap_XXrofl0r
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-16fix usage of glibc-specific sys/poll.hrofl0r
sys/poll.h is a legacy alias used by glibc. according to POSIX #include <poll.h> is correct. on GLIBC, the POSIX header includes sys/poll.h, so everything continues working as it should. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-16libudev/log.c: using strlen without including string.h is no good idearofl0r
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-16libudev/path-util.c: remove usage of canonicalize_file_name()rofl0r
this is a glibc specific alias for realpath(path, NULL). to be portable, we need to use the real thing which is even less verbose. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-16libudev/strbuf.c: remove usage of glibc-internal __compar_fn_trofl0r
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2013-08-02util: make gcc shut up by passing a 0 mode param to open()Lennart Poettering
If we pass a variable to open()'s flags parameter it really wants a mode parameter too, otherwise some gcc version whine. Hence, pass 0 in that case.
2013-08-02src/libudev/{strv,util}.{h,c}: reorder functionsAnthony G. Basile
We reorder the functions prototypes and definitions to match upstream as in commit aa417a4d83999f6d7f092161d5c411b8cbce9977. The order was lost when that commit was revert and the functions re-introduced in later commits. Preserving the order helps to better track upstream changes when doing a diff between files. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>