forked from libusb/libusb-compat-0.1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
602 lines (405 loc) · 19.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
commit 5d71cd877fb4bb5f65a014b2b98ec692aa22dbc2
Author: Nathan Hjelm <[email protected]>
Date: Fri Oct 9 15:42:54 2015 -0600
tag the 0.1.6-rc1 release
Signed-off-by: Nathan Hjelm <[email protected]>
commit e6a2d1b18ac86714b219a1ed1bcee08b169bffd9
Author: Ray Donnelly <[email protected]>
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 <[email protected]>
commit ded6bf77758415ca56e4825036f00eb31750c3df
Author: Ray Donnelly <[email protected]>
Date: Tue Jan 20 19:29:55 2015 +0000
Add some missing definitions
Needed for Win32
Signed-off-by: Nathan Hjelm <[email protected]>
commit 2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8
Author: Nathan Hjelm <[email protected]>
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 <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>
commit b6f5a2fe12ca19d658d7180e106254b31cf1f8f5
Author: Stanislav Brabec <[email protected]>
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 <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>
commit 072a5e4ee6a2658d8f422a707115fb36f3e6f959
Author: Nathan Hjelm <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
commit 89a55e84b390225d2ad47a300191770e95307f05
Author: Daniel Berrange <[email protected]>
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 <[email protected]>
commit 8fc7a4f671833d7142e632517d25d0015b648c3c
Author: Nathan Hjelm <[email protected]>
Date: Thu May 23 19:11:16 2013 -0600
Update news for 0.1.5
commit cab33bcf07541d1a36e1e9d4ec75a3c080e98b2d
Author: Nathan Hjelm <[email protected]>
Date: Mon May 20 17:34:02 2013 -0600
libusb-compat-0.1.5
commit 86dafa1443aef6fb9df50734df7b6e2240de4d9c
Author: Nathan Hjelm <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Thu Apr 4 10:53:42 2013 -0600
use atexit() to call libusb_exit()
Fixes #130
commit f52bc041ccadbc72860fcc3409e915121f6a22ac
Author: Nathan Hjelm <[email protected]>
Date: Thu Apr 4 10:53:01 2013 -0600
fix autoconf errors/warnings
Fixes #161
commit b2200bea0cf009f4ca31717b588e3c78bbda4e96
Author: Xiaofan Chen <[email protected]>
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 <[email protected]>
Date: Tue Apr 24 07:27:08 2012 +0200
libusb-compat-0.1.4
commit 2ec4b60bc6394356975757b754e2b52b1dc17bb8
Author: Peter Stuge <[email protected]>
Date: Tue Apr 24 07:21:54 2012 +0200
README: Add Peter Stuge and remove Daniel Drake
commit 2236a36fe8acdf1bc74239e5dae4d4cad4f679be
Author: Peter Stuge <[email protected]>
Date: Tue Apr 24 07:20:58 2012 +0200
README: Update libusb homepage URL
commit 1e00ab3f042a8d37558e321e3240df514b6d9d81
Author: Peter Stuge <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Tue Apr 24 07:36:47 2012 +0200
Silence warnings: passing argument 3 of 'usb_*_io' discards qualifiers
commit ab21a0312fe2df754fd7a4cf4c45050233ee443d
Author: Ludovic Rousseau <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Thu Jul 9 22:15:32 2009 +0100
v0.1.3 release
commit 3874dfa6141e0e4cee8ccc6c3d4ff522698ebd7d
Author: John Smith <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Thu Jun 11 23:50:59 2009 +0100
v0.1.2 release
commit 29af8617ad6d460c3bff927f17c4938dab8f10d3
Author: Daniel Drake <[email protected]>
Date: Fri May 29 12:28:05 2009 -0400
Better handling of library initialization failure
commit f0909ef85c5bf2ee8655864041e5e0453adc9ff0
Author: Daniel Drake <[email protected]>
Date: Thu May 28 09:28:50 2009 -0400
v0.1.1 release
commit b090e024b9dbd8d94ba6f2b6eeb629d3fd461d6e
Author: Stanislav Brabec <[email protected]>
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 <[email protected]>
Date: Sat Dec 13 20:30:54 2008 +0000
v0.1.0 release
commit c2ffa94cbcab67324aebc1b32dad69f875b6481a
Author: Daniel Drake <[email protected]>
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 <[email protected]>
Date: Fri Nov 21 16:52:42 2008 +0000
v0.1.0-beta3 release
commit 8cc08f2c34f0efb809b98b4704e70a3c350cc9a1
Author: Daniel Drake <[email protected]>
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 <[email protected]>
Date: Sat Jun 28 21:35:11 2008 -0500
v0.1.0-beta2 release
commit 788e70c700d1d3a00e9deee67aa24b7c920650e2
Author: Daniel Drake <[email protected]>
Date: Sat Jun 28 21:33:09 2008 -0500
Update to new libusb context API
commit 7999d97c699493da2e04fa7e9cd9bfe4e080c49f
Author: Daniel Drake <[email protected]>
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 <[email protected]>
Date: Mon May 26 00:05:32 2008 +0100
v0.1.0-beta1 release
commit c7746a0c411b2e4edec178d1ae7783d40152bc7b
Author: Daniel Drake <[email protected]>
Date: Fri May 23 16:01:18 2008 +0100
link usb_set_debug to libusb_set_debug
commit 1c59b329f3f4f8644011b37414695df2c5e54586
Author: Daniel Drake <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Sat May 10 22:17:26 2008 +0100
Update for new descriptors API
commit bb248deecfc6b7718ef849ad9f3f394483d429c8
Author: Daniel Drake <[email protected]>
Date: Sat May 10 15:36:54 2008 +0100
update for new libusb configuration API
commit b8893bca200a24acbda8ba9d2816da743e8783a0
Author: Daniel Drake <[email protected]>
Date: Mon May 5 16:33:37 2008 +0100
match error reporting better, and handle endpoint halts
commit f06d81be9634a0b160caa11cd66f7fcc9354b28a
Author: Daniel Drake <[email protected]>
Date: Mon May 5 16:32:47 2008 +0100
make log function static
commit a390eee8402634f5ecefc617832af1b4fd8af2ee
Author: Daniel Drake <[email protected]>
Date: Mon May 5 15:13:40 2008 +0100
add usb_set_debug
Pointed out by Xiaofan Chen
commit c062b2b41183d98ac8a5f568d84472b422ec8285
Author: Daniel Drake <[email protected]>
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 <[email protected]>
Date: Mon May 5 00:37:12 2008 +0100
fix timeout handling for bulk/interrupt IO
commit 2bb614e567d921a80224139b01742b718f8d420a
Author: Daniel Drake <[email protected]>
Date: Sun May 4 17:29:15 2008 +0100
implement a couple more functions
commit 1ad492d8b46e4b41f5193f461ec356ec95368875
Author: Daniel Drake <[email protected]>
Date: Sun May 4 17:18:11 2008 +0100
installation fixes
commit 89dde2002fc4f08a5b90bd7e143c6ec06d86d279
Author: Daniel Drake <[email protected]>
Date: Sun May 4 16:55:50 2008 +0100
add testlibusb example from libusb-0.1
commit b9478137cb8a6f4a6ba758c3b3d3bc5173a623d8
Author: Daniel Drake <[email protected]>
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 <[email protected]>
Date: Sun May 4 16:28:32 2008 +0100
control transfer functions
commit 493e756b5b08ba98b612679bcc210d87c20859f0
Author: Daniel Drake <[email protected]>
Date: Sun May 4 14:25:28 2008 +0100
bulk and interrupt I/O
commit ce86f26e5d8f49001cee79a40b0baebbcc965d1d
Author: Daniel Drake <[email protected]>
Date: Sun May 4 14:11:28 2008 +0100
Implement remaining device operations
commit 78740a7b8f537bc3d6b6c0c09368be453ff3c4d9
Author: Daniel Drake <[email protected]>
Date: Sun May 4 01:15:50 2008 +0100
implement some device operations
commit 7d7cb91be1307aa6e56c0534e3fba20afc45977d
Author: Daniel Drake <[email protected]>
Date: Sun May 4 00:59:56 2008 +0100
Initial commit