diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 79bd188..0000000 --- a/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# Makefile for source rpm: udev -# $Id: Makefile,v 1.2 2004/11/04 16:16:37 harald Exp $ -NAME := udev -SPECFILE = $(firstword $(wildcard *.spec)) -UPSTREAM_CHECKS = sign - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/udev-132-memstickrules.patch b/udev-132-memstickrules.patch new file mode 100644 index 0000000..8c618b5 --- /dev/null +++ b/udev-132-memstickrules.patch @@ -0,0 +1,11 @@ +diff -up udev-132/rules/redhat/40-redhat.rules.memstickrules udev-132/rules/redhat/40-redhat.rules +--- udev-132/rules/redhat/40-redhat.rules.memstickrules 2008-10-16 18:03:43.000000000 +0200 ++++ udev-132/rules/redhat/40-redhat.rules 2008-11-10 11:42:31.000000000 +0100 +@@ -25,3 +25,7 @@ KERNEL=="vcsa[0-9]*", OWNER="vc + KERNEL=="vcc/*", OWNER="vcsa", GROUP="tty" + + KERNEL=="event*", ATTRS{idVendor}=="03f0", ATTRS{interface}=="Virtual Mouse", ATTRS{bInterfaceProtocol}=="02", SYMLINK+="input/hp_ilo_mouse" ++ ++KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}" ++KERNEL=="mspblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}-part%n" ++ diff --git a/udev-CVE-2009-1185.patch b/udev-CVE-2009-1185.patch new file mode 100644 index 0000000..bf54e17 --- /dev/null +++ b/udev-CVE-2009-1185.patch @@ -0,0 +1,39 @@ +diff -ruNp udev-124~/udevd.c udev-124/udevd.c +--- udev-124~/udev/udevd.c 2008-06-11 22:24:30.000000000 -0700 ++++ udev-124/udev/udevd.c 2009-04-08 16:30:06.000000000 -0700 +@@ -753,16 +753,34 @@ static struct udevd_uevent_msg *get_netl + struct udevd_uevent_msg *msg; + int bufpos; + ssize_t size; ++ struct sockaddr_nl snl; ++ struct msghdr smsg; ++ struct iovec iov; + static char buffer[UEVENT_BUFFER_SIZE+512]; + char *pos; + +- size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0); ++ iov.iov_base = buffer; ++ iov.iov_len = sizeof(buffer); ++ ++ memset(&smsg, 0x00, sizeof(struct msghdr)); ++ smsg.msg_name = &snl; ++ smsg.msg_namelen = sizeof(struct sockaddr_nl); ++ smsg.msg_iov = &iov; ++ smsg.msg_iovlen = 1; ++ ++ size = recvmsg(uevent_netlink_sock, &smsg, 0); + if (size < 0) { + if (errno != EINTR) + err("unable to receive kernel netlink message: %s\n", strerror(errno)); + return NULL; + } + ++ if ((snl.nl_groups != 1) || (snl.nl_pid != 0)) { ++ info("ignored netlink message from invalid group/sender %d/%d\n", ++ snl.nl_groups, snl.nl_pid); ++ return NULL; ++ } ++ + if ((size_t)size > sizeof(buffer)-1) + size = sizeof(buffer)-1; + buffer[size] = '\0'; diff --git a/udev-CVE-2009-1186.patch b/udev-CVE-2009-1186.patch new file mode 100644 index 0000000..165956d --- /dev/null +++ b/udev-CVE-2009-1186.patch @@ -0,0 +1,12 @@ +diff -up udev-127/udev/udev_utils_string.c.CVE-2009-1186 udev-127/udev/udev_utils_string.c +--- udev-127/udev/udev_utils_string.c.CVE-2009-1186 2008-08-26 09:21:40.000000000 +0200 ++++ udev-127/udev/udev_utils_string.c 2009-04-16 08:47:13.000000000 +0200 +@@ -53,7 +53,7 @@ void remove_trailing_chars(char *path, c + + size_t path_encode(char *s, size_t len) + { +- char t[(len * 3)+1]; ++ char t[(len * 4)+1]; + size_t i, j; + + t[0] = '\0'; diff --git a/udev.spec b/udev.spec index 432b37d..1dbff52 100644 --- a/udev.spec +++ b/udev.spec @@ -6,7 +6,7 @@ Summary: A userspace implementation of devfs Name: udev Version: 127 -Release: 2%{?dist} +Release: 6%{?dist} License: GPLv2 Group: System Environment/Base Provides: udev-persistent = %{version}-%{release} @@ -21,8 +21,11 @@ Source5: udev.sysconfig Patch1: udev-127-volid-raid.patch Patch2: udev-127-volume_id-include-config.h.patch +Patch3: udev-132-memstickrules.patch -Patch102: udev-118-sysconf.patch +Patch101: udev-118-sysconf.patch +Patch102: udev-CVE-2009-1185.patch +Patch103: udev-CVE-2009-1186.patch ExclusiveOS: Linux URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html @@ -96,7 +99,10 @@ dynamic library, which provides access to udev device information. %setup -q %patch1 -p1 -b .p1 %patch2 -p1 -b .p2 -%patch102 -p1 -b .sysconf +%patch3 -p1 -b .p3 +%patch101 -p1 -b .sysconf +%patch102 -p1 -b .CVE-2009-1185 +%patch103 -p1 -b .CVE-2009-1186 %build %configure --with-selinux --prefix=%{_prefix} --exec-prefix="" --sysconfdir=%{_sysconfdir} --with-libdir-name=%{_lib} --sbindir="/sbin" --enable-static @@ -176,6 +182,7 @@ for i in \ rules/packages/40-s390.rules \ %endif rules/packages/40-alsa.rules \ + rules/packages/40-isdn.rules \ rules/packages/64-md-raid.rules \ rules/packages/64-device-mapper.rules \ ; do @@ -368,6 +375,18 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Jun 09 2009 Harald Hoyer 127-6 +- add isdn capi rules + +* Thu Apr 16 2009 Harald Hoyer 127-5 +- fix for CVE-2009-1186 + +* Wed Apr 15 2009 Harald Hoyer 127-4 +- fix for CVE-2009-1185 + +* Mon Nov 10 2008 Harald Hoyer 127-3 +- added memory stick rules (bug #470096) + * Thu Oct 16 2008 Harald Hoyer 127-2 - added 2 patches for md raid vol_id