[libusb1] fixes USB access error message handling
jvcelak
jvcelak at fedoraproject.org
Tue Sep 14 14:53:24 UTC 2010
commit b958d5184165a887534b424ea487b5d77ee1207f
Author: Jan Vcelak <jvcelak at redhat.com>
Date: Tue Sep 14 16:45:49 2010 +0200
fixes USB access error message handling
Uses standard logging mechanism instead of printing to stderr.
Upstream Ticket: #44
Resolves: #628356
libusb1-error-access-log-message.patch | 34 ++++++++++++++++++++++++++++++++
libusb1.spec | 9 +++++++-
2 files changed, 42 insertions(+), 1 deletions(-)
---
diff --git a/libusb1-error-access-log-message.patch b/libusb1-error-access-log-message.patch
new file mode 100644
index 0000000..0a265d8
--- /dev/null
+++ b/libusb1-error-access-log-message.patch
@@ -0,0 +1,34 @@
+From 22d61cd0891d8304dfc1a70579cf154fd8e6644a Mon Sep 17 00:00:00 2001
+From b33c3cb9651459de1f3d549677cbac67a017a295 Mon Sep 17 00:00:00 2001
+From: Daniel Drake <dan at reactivated.net>
+Date: Tue, 22 Jun 2010 18:20:23 -0500
+Subject: [PATCH] Linux: fix log message that was being unconditionally sent to stderr (#44)
+
+This message was put in place to aid libusb-compat-0.1 users, who
+may run into the change that libusb-0.1 allowed you to usb_open() a
+device that you don't have write access to, but libusb-1.0 does not.
+
+As explained on the ticket this change is dangerous so it should go through
+the usual logging mechanism. I also added a similar regular log message
+to libusb-compat-0.1.
+
+Resolves: #628356
+
+diff -uNPrp libusb-1.0.8/libusb/os/linux_usbfs.c libusb-1.0.8.new/libusb/os/linux_usbfs.c
+--- libusb-1.0.8/libusb/os/linux_usbfs.c 2010-04-22 23:14:46.000000000 +0200
++++ libusb-1.0.8.new/libusb/os/linux_usbfs.c 2010-09-14 16:22:31.314772148 +0200
+@@ -1055,10 +1055,10 @@ static int op_open(struct libusb_device_
+ hpriv->fd = open(filename, O_RDWR);
+ if (hpriv->fd < 0) {
+ if (errno == EACCES) {
+- fprintf(stderr, "libusb couldn't open USB device %s: "
+- "Permission denied.\n"
+- "libusb requires write access to USB device nodes.\n",
+- filename);
++ usbi_err(HANDLE_CTX(handle), "libusb couldn't open USB device %s: "
++ "Permission denied.", filename);
++ usbi_err(HANDLE_CTX(handle),
++ "libusb requires write access to USB device nodes.");
+ return LIBUSB_ERROR_ACCESS;
+ } else if (errno == ENOENT) {
+ return LIBUSB_ERROR_NO_DEVICE;
diff --git a/libusb1.spec b/libusb1.spec
index ee565f0..db8959b 100644
--- a/libusb1.spec
+++ b/libusb1.spec
@@ -1,7 +1,7 @@
Summary: A library which allows userspace access to USB devices
Name: libusb1
Version: 1.0.8
-Release: 1%{?dist}
+Release: 2%{?dist}
Source0: http://downloads.sourceforge.net/libusb/libusb-%{version}.tar.bz2
License: LGPLv2+
Group: System Environment/Libraries
@@ -10,6 +10,8 @@ URL: http://libusb.wiki.sourceforge.net/Libusb1.0
ExcludeArch: s390 s390x
BuildRequires: doxygen
+Patch0: libusb1-error-access-log-message.patch
+
%description
This package provides a way for applications to access USB devices. Note that
this library is not compatible with the original libusb-0.1 series.
@@ -45,6 +47,7 @@ This package contains static libraries to develop applications that use libusb1.
%prep
%setup -q -n libusb-%{version}
+%patch0 -p1 -b error-access-log-message
%build
%configure
@@ -85,6 +88,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/*.a
%changelog
+* Tue Sep 14 2010 Jan Vcelak <jvcelak at redhat.com> 1.0.8-2
+- USB access error messages are now handled by standard logging mechanism
+ instead of printing to stderr (#628356)
+
* Mon May 17 2010 Jindrich Novy <jnovy at redhat.com> 1.0.8-1
- update to 1.0.8 (#592901)
More information about the scm-commits
mailing list