commit 5d71cd877fb4bb5f65a014b2b98ec692aa22dbc2 Author: Nathan Hjelm Date: Fri Oct 9 15:42:54 2015 -0600 tag the 0.1.6-rc1 release Signed-off-by: Nathan Hjelm commit e6a2d1b18ac86714b219a1ed1bcee08b169bffd9 Author: Ray Donnelly Date: Tue Jan 20 19:30:30 2015 +0000 Add -no-undefined to LDFLAGS As otherwise libtool won't build Win32 DLLs Signed-off-by: Nathan Hjelm commit ded6bf77758415ca56e4825036f00eb31750c3df Author: Ray Donnelly Date: Tue Jan 20 19:29:55 2015 +0000 Add some missing definitions Needed for Win32 Signed-off-by: Nathan Hjelm commit 2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8 Author: Nathan Hjelm Date: Fri Oct 9 15:03:10 2015 -0600 Use C99 standard fixed width integer types in usb.h This patch modifies the integer types in usb.h of the form u_int* to the C99 standard uint* types. Based on patch from Gwenhael Goavec-Merou. Signed-off-by: Gwenhael Goavec-Merou Signed-off-by: Nathan Hjelm commit b6f5a2fe12ca19d658d7180e106254b31cf1f8f5 Author: Stanislav Brabec Date: Tue May 12 17:19:05 2015 +0200 Prevent libusb-1.0 library symbol clash libusb-1.0 uses functions like libusb_open. These names are generic, and there are applications using libusb-0.1 using these names for its own functions (e. g. scanbuttond). If such applications uses libusb-compat, it crashes due to symbol clash. Such clash is easy to fix in Open Source applications, but impossible to fix inside closed source applications. Dynamic linker does not allow to hide symbols from dependent library. This could be worked around by loading this library later by dlopen() with RTLD_LOCAL flag. Do this on platforms where it can be done. This change makes visible only libusb-0.1 symbols but not libusb-1.0 symbols. (It could be theoretically possible to introduce clashes with libdl, but it is much less probable.) How to reproduce: Take testlibusb.c from libusb-0.1.12/tests and replace print_device by libusb_open. Without this change the application crashes. Reference: https://bugzilla.opensuse.org/show_bug.cgi?id=596411 Signed-off-by: Stanislav Brabec Signed-off-by: Nathan Hjelm commit 072a5e4ee6a2658d8f422a707115fb36f3e6f959 Author: Nathan Hjelm Date: Tue Feb 25 23:10:01 2014 -0700 Add a library destructor to handle cleaning up libusb. References #6 commit 929029867c3d42ef759e3a5f6290250ecc7ebf58 Author: Nathan Hjelm Date: Tue Feb 25 22:52:23 2014 -0700 Revert "Link with -znodelete to disallow unloading" -znodelete is causing problems on Darwin. We will use a library destructor function to ensure proper cleanup. This reverts commit 89a55e84b390225d2ad47a300191770e95307f05. commit eb590b4dac00a5188b93e1d6ebdd60b06f9ab3d7 Author: Hans de Goede Date: Thu Feb 13 17:25:27 2014 +0100 Revert "use atexit() to call libusb_exit()" The use of atexit() breaks various users of libusb-compat, see ie: https://bugzilla.redhat.com/show_bug.cgi?id=1003193 This reverts commit 0be16b8dd25733d242ae32b57823a9513ec21353. Closes libusbx/libusb-compat-0.1#2 Signed-off-by: Hans de Goede commit 89a55e84b390225d2ad47a300191770e95307f05 Author: Daniel Berrange Date: Wed Aug 14 16:00:56 2013 +0200 Link with -znodelete to disallow unloading Since libusb-0.1 did not have any init / exit function, code using the libusb-0.1 API will not call libusb_exit. Now, libgphoto uses libusb and will dlopen() and dlclose() it. Unfortunately since there is no way to ensure libusb_exit() is called, when libgphoto dlcloses the libusb.so library, the thread from libusbx.so will not be stopped. So a thread will remain running, executing code from a memory region that has now been freed. Crash-tastic results ensue. I don't see a good way to fix this from libusb or libusbx, given the need to preserve the existing API of libusb. If, however, we link libusb.so using -znodelete, we will prevent it from ever being unloaded, despite the dlclose() calls. This is not ideal, but better than allowing it to be unloaded which is a guaranteed crash. Signed-off-by: Hans de Goede commit 8fc7a4f671833d7142e632517d25d0015b648c3c Author: Nathan Hjelm Date: Thu May 23 19:11:16 2013 -0600 Update news for 0.1.5 commit cab33bcf07541d1a36e1e9d4ec75a3c080e98b2d Author: Nathan Hjelm Date: Mon May 20 17:34:02 2013 -0600 libusb-compat-0.1.5 commit 86dafa1443aef6fb9df50734df7b6e2240de4d9c Author: Nathan Hjelm Date: Mon May 20 17:33:43 2013 -0600 Add bootstrap.sh and do not set debug mode by default. commit 72dc8b5987580c73e5df14cc330cea72b0f5a827 Author: Nathan Hjelm Date: Mon May 20 17:32:43 2013 -0600 Replace the deprecated INCLUDES token with AM_CPPFLAGS in Makefile.am commit 70083af73554fec63fa4c13b0211b4d5ddf5a8cd Author: Brad Smith Date: Fri Aug 24 17:13:11 2012 -0400 libusb.pc.in: Add missing Requires.private: libusb-1.0 so that pkg-config adds the libusb 1.0 library and dependencies when static linking. commit 0be16b8dd25733d242ae32b57823a9513ec21353 Author: Nathan Hjelm Date: Thu Apr 4 10:53:42 2013 -0600 use atexit() to call libusb_exit() Fixes #130 commit f52bc041ccadbc72860fcc3409e915121f6a22ac Author: Nathan Hjelm Date: Thu Apr 4 10:53:01 2013 -0600 fix autoconf errors/warnings Fixes #161 commit b2200bea0cf009f4ca31717b588e3c78bbda4e96 Author: Xiaofan Chen Date: Sun May 13 19:50:38 2012 +0800 examples: Link only with ../libusb/libusb.la and not with -lusb Similar to libusb.git commit 93b0e09d53ed1d177631af9182378492481a790a http://git.libusb.org/?p=libusb.git;a=commitdiff;h=93b0e09d53ed1d177631af918 Previous _LDFLAGS included both the freshly built libusb in ../libusb and -lusb, where libtool would usually resolve the latter to an already-installed libusb library in the system. The extra reference to a second libusb library may cause failures to build examples on some platforms and is wrong. Fixes #135. commit 96aed2f7963d4a55d575a701adce8e64c0ae89fb Author: Peter Stuge Date: Tue Apr 24 07:27:08 2012 +0200 libusb-compat-0.1.4 commit 2ec4b60bc6394356975757b754e2b52b1dc17bb8 Author: Peter Stuge Date: Tue Apr 24 07:21:54 2012 +0200 README: Add Peter Stuge and remove Daniel Drake commit 2236a36fe8acdf1bc74239e5dae4d4cad4f679be Author: Peter Stuge Date: Tue Apr 24 07:20:58 2012 +0200 README: Update libusb homepage URL commit 1e00ab3f042a8d37558e321e3240df514b6d9d81 Author: Peter Stuge Date: Tue Apr 24 07:43:39 2012 +0200 examples/Makefile.am: -I$(top_srcdir)/libusb to reach usb.h properly commit 983fabd544ca9879d8901f05e286a674db97070e Author: Stanislav Brabec Date: Wed Apr 4 17:44:24 2012 +0200 Fix #42 usb_detach_kernel_driver_np() error mapping usb_detach_kernel_driver_np() from libusb-compat-0.1 returns different error messages than the old libusb-0.1. It causes problems for drivers that expect exact error code. Convert libusb-1.0 errors back to libusb-0.1 errors to get 1:1 mapping of kernel error codes. Affected software: lirc-0.8.7/daemons/hw_srm7500libusb.c: srm7500_initialize_usbdongle() The function continues if usb_detach_kernel_driver_np() finishes with no error or if it returns -ENODATA. But libusb-compat-0.1 used to return -ENOENT and the driver considers this error as fatal. Upstream bug reference: http://libusb.org/ticket/42 Upstream mailing list reference: http://marc.info/?m=133355454809642 Downstream bug reference: https://bugzilla.novell.com/show_bug.cgi?id=683307 commit 284235b7e71978f2c2068fbd66698bc4c6770559 Author: Peter Stuge Date: Tue Apr 24 06:15:35 2012 +0200 autogen.sh: Try to use libtoolize before trying glibtoolize This helps on Mac OS X where an old glibtoolize is included in the system and newer, manually installed, versions provide libtoolize. See also http://marc.info/?m=132490560131894 libusb.git commit 3df437680f8f5406795ec5f32d96612d327b2ca4 commit 1aa067b7d2ab313096bdc16b5a3aa050971b14d5 Author: Peter Stuge Date: Tue Apr 24 07:36:47 2012 +0200 Silence warnings: passing argument 3 of 'usb_*_io' discards qualifiers commit ab21a0312fe2df754fd7a4cf4c45050233ee443d Author: Ludovic Rousseau Date: Tue May 3 11:12:13 2011 +0200 Use const for read only buffers Change the usb_bulk_write() and usb_interrupt_write() API to use "const char *bytes" for read only buffers (data sent to the device). See Debian bug #473814 "libusb: Please use const where appropriate in headers" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473814 [stuge: Also change actual function definitions] commit ccb66689c0e04db4ac8474e573ca2e5f055f5d7b Author: Daniel Drake Date: Tue Jun 22 18:19:15 2010 -0500 Add log message for open permission denied errors This message was previously in libusb but is being removed (ticket #44). Move it here so that this caveat (also documented in README) is more obvious. commit cbfeff38e3a10b9e28a575a47e39b2311f38ce9a Author: Ludovic Rousseau Date: Sun Oct 25 10:33:02 2009 +0100 testlibusb warning fixes testlibusb.c:14: warning: no previous prototype for 'print_endpoint' testlibusb.c:24: warning: no previous prototype for 'print_altsetting' testlibusb.c:40: warning: no previous prototype for 'print_interface' testlibusb.c:48: warning: no previous prototype for 'print_configuration' testlibusb.c:63: warning: no previous prototype for 'print_device' commit 511324a538a034f7f0766b7689ed50ed4e21ee43 Author: Daniel Drake Date: Thu Sep 17 23:49:53 2009 +0545 Document breakage from internal handle structure change Code exists which expects usb_dev_handle to always have the same contents as it did in libusb-0.1.12. Such code will not work with the compat layer since the structure has changed. commit 713a4c3c2097e6d060d41718b2005490dfd7c71c Author: Daniel Drake Date: Thu Jul 9 22:15:32 2009 +0100 v0.1.3 release commit 3874dfa6141e0e4cee8ccc6c3d4ff522698ebd7d Author: John Smith Date: Thu Jul 9 22:13:45 2009 +0100 Improve libusb-config for cross-compiling (SF#2809877) The sed applied to this file only affects to assignments that happen at the start of the line. This fixes cross compiling for OpenWRT, etc. commit 15bf9b0a2d3fed8f0fe69d002a4fcd0140679f2d Author: Kyle McKay Date: Fri Jun 19 22:11:02 2009 +0100 Improved error code compatibility libusb-1.0 can return result codes 0, -1 through -12 and -99. The old libusb-0.1 software was always returning the negative of an errno.h error code. Unfortunately the current version of libusb-compat passes through some of the libusb-1.0 error codes unchanged. (Some of the error codes are translated for some functions and different ones for other functions but plenty are not translated.) The patch attached to the below bug report makes sure all libusb-1.0 error codes are translated into the libusb-0.1 equivalent negative of an errno.h define value. Additionally, this patch makes sure that errno is always being set as some callers of libusb-0.1 expect that to be the case. Finally since errno is now always being set by libusb- compat, the implementation of usb_strerror is changed to return strerror(errno) instead of the unhelpful "Unknown error". commit 3ffc1160f0599ceb503aa2e0dbbf51a5b72bb9b9 Author: Daniel Drake Date: Thu Jun 11 23:50:59 2009 +0100 v0.1.2 release commit 29af8617ad6d460c3bff927f17c4938dab8f10d3 Author: Daniel Drake Date: Fri May 29 12:28:05 2009 -0400 Better handling of library initialization failure commit f0909ef85c5bf2ee8655864041e5e0453adc9ff0 Author: Daniel Drake Date: Thu May 28 09:28:50 2009 -0400 v0.1.1 release commit b090e024b9dbd8d94ba6f2b6eeb629d3fd461d6e Author: Stanislav Brabec Date: Wed May 27 15:39:54 2009 -0400 Sanitize more endpoint addresses For maximum compatibility, this makes libusb-compat-0.1 behave like libusb-0.1 on BSD, where endpoint addresses are sanitized for all control and bulk transfers. (Linux and Darwin also sanitize some of these) commit cf9ce427f4bb62b7d575b70b299f1a582fb1baa1 Author: Daniel Drake Date: Sat Dec 13 20:30:54 2008 +0000 v0.1.0 release commit c2ffa94cbcab67324aebc1b32dad69f875b6481a Author: Daniel Drake Date: Sat Dec 13 20:25:27 2008 +0000 Document the danger of forcefully killing threads Ludovic Rousseau has explained that he achieved transfer cancellation in libusb-0.1 by running each transfer in it's own thread, and forcefully killing the thread when he doesn't want the transfer any more. This bad programming practice is imposed by libusb-0.1 not offering any way to cancel ongoing transfers. Someone should rewrite libusb-0.1 to avoid this limitation. Oh, wait... Killing libusb-1.0 threads while they are event handling will often result in I/O halt. Document this in the README. commit 14e5a692c62c07e9698e5b51b4da5f48a7da1912 Author: Daniel Drake Date: Fri Nov 21 16:52:42 2008 +0000 v0.1.0-beta3 release commit 8cc08f2c34f0efb809b98b4704e70a3c350cc9a1 Author: Daniel Drake Date: Sun Aug 10 17:05:08 2008 -0500 Allow usb_set_debug before usb_init() Xiofan Chen reports that this worked on libusb-0.1. Also fix NULL initialization of ctx. commit 0dc6967ca823d177503fe91de67de9801496cfec Author: Daniel Drake Date: Sat Jun 28 21:35:11 2008 -0500 v0.1.0-beta2 release commit 788e70c700d1d3a00e9deee67aa24b7c920650e2 Author: Daniel Drake Date: Sat Jun 28 21:33:09 2008 -0500 Update to new libusb context API commit 7999d97c699493da2e04fa7e9cd9bfe4e080c49f Author: Daniel Drake Date: Tue Jun 17 18:19:16 2008 -0500 Fixup read endpoint addresses This doesn't make much sense, but libusb-0.1 does it, so we will do it too. commit fcf3834702d6dab8ce1181678131376f1badd62d Author: Daniel Drake Date: Mon May 26 00:05:32 2008 +0100 v0.1.0-beta1 release commit c7746a0c411b2e4edec178d1ae7783d40152bc7b Author: Daniel Drake Date: Fri May 23 16:01:18 2008 +0100 link usb_set_debug to libusb_set_debug commit 1c59b329f3f4f8644011b37414695df2c5e54586 Author: Daniel Drake Date: Fri May 23 15:32:30 2008 +0100 don't log anything by default Only log messages if the user asked for them using usb_set_debug() Ludovic Rousseau pointed out that library users may close stdout/stderr and those file descriptors may be reused for other things. commit fa323490e8e66fe0e95e1545d0c921e947ed6f93 Author: Daniel Drake Date: Tue May 20 16:27:17 2008 +0100 Update for new libusb_open API Pointed out by Soumen Mondal commit c5c6684c06bcf8e922601fc1c0d994552abf1e92 Author: Daniel Drake Date: Mon May 19 16:15:17 2008 +0100 Add emulation info to pkg-config file Ludovic Rousseau requested a way of distinguishing between libusb-compat-0.1 and the real libusb-0.1, and suggested this approach. You can access this info through pkg-config e.g.: pkg-config --variable=emulated libusb commit 49057f6ce5cd4d51e31594f290b2dd3c9f1dbaf8 Author: Daniel Drake Date: Mon May 19 15:21:04 2008 +0100 Pretend to be libusb-0.1.12 Pointed out by Ludovic Rousseau: some programs check for specific libusb versions, so pretend to be v0.1.12. commit 727fe5651bfcdd789c2ea4ce462df398b4cacc69 Author: Daniel Drake Date: Fri May 16 23:38:46 2008 +0100 remove FIXME about parent-child relationships Doesn't seem worth this holding things up. commit 2b6bdd1aeca38bb4211b704fd76faa0f41272807 Author: Daniel Drake Date: Sat May 10 22:17:26 2008 +0100 Update for new descriptors API commit bb248deecfc6b7718ef849ad9f3f394483d429c8 Author: Daniel Drake Date: Sat May 10 15:36:54 2008 +0100 update for new libusb configuration API commit b8893bca200a24acbda8ba9d2816da743e8783a0 Author: Daniel Drake Date: Mon May 5 16:33:37 2008 +0100 match error reporting better, and handle endpoint halts commit f06d81be9634a0b160caa11cd66f7fcc9354b28a Author: Daniel Drake Date: Mon May 5 16:32:47 2008 +0100 make log function static commit a390eee8402634f5ecefc617832af1b4fd8af2ee Author: Daniel Drake Date: Mon May 5 15:13:40 2008 +0100 add usb_set_debug Pointed out by Xiaofan Chen commit c062b2b41183d98ac8a5f568d84472b422ec8285 Author: Daniel Drake Date: Mon May 5 15:11:36 2008 +0100 populate bus->dirname and dev->filename lsusb uses these. Problem spotted by Xiaofan Chen commit 71225af5613d512b3a26ed94410f6d6ed2cebb30 Author: Daniel Drake Date: Mon May 5 00:37:12 2008 +0100 fix timeout handling for bulk/interrupt IO commit 2bb614e567d921a80224139b01742b718f8d420a Author: Daniel Drake Date: Sun May 4 17:29:15 2008 +0100 implement a couple more functions commit 1ad492d8b46e4b41f5193f461ec356ec95368875 Author: Daniel Drake Date: Sun May 4 17:18:11 2008 +0100 installation fixes commit 89dde2002fc4f08a5b90bd7e143c6ec06d86d279 Author: Daniel Drake Date: Sun May 4 16:55:50 2008 +0100 add testlibusb example from libusb-0.1 commit b9478137cb8a6f4a6ba758c3b3d3bc5173a623d8 Author: Daniel Drake Date: Sun May 4 16:53:45 2008 +0100 implement usb_get_driver_np() and usb_detach_kernel_driver_np() commit eae1ee2b7bac39f408a9ee61f1e3a80e6425e483 Author: Daniel Drake Date: Sun May 4 16:28:32 2008 +0100 control transfer functions commit 493e756b5b08ba98b612679bcc210d87c20859f0 Author: Daniel Drake Date: Sun May 4 14:25:28 2008 +0100 bulk and interrupt I/O commit ce86f26e5d8f49001cee79a40b0baebbcc965d1d Author: Daniel Drake Date: Sun May 4 14:11:28 2008 +0100 Implement remaining device operations commit 78740a7b8f537bc3d6b6c0c09368be453ff3c4d9 Author: Daniel Drake Date: Sun May 4 01:15:50 2008 +0100 implement some device operations commit 7d7cb91be1307aa6e56c0534e3fba20afc45977d Author: Daniel Drake Date: Sun May 4 00:59:56 2008 +0100 Initial commit