Bug 2601

Summary: eterkeytest падает, если нет прав на устройство
Product: WINE@Etersoft Reporter: Денис Баранов <baraka>
Component: Ключи защиты ; Системы защиты ; Файл лицензииAssignee: Александр Морозов <amorozov>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P3 CC: lav
Version: 1.0.9   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 2602    
Bug Blocks: 777    

Description Денис Баранов 2008-10-14 10:12:24 MSD
При выполнении не из под root, данная ошибка воспроизводится на lin-test

eterkeytest --eutron
USB:
libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
Ошибка сегментирования

Под root eterkeytest работает корректно.
Comment 1 Денис Баранов 2008-10-14 13:00:26 MSD
eterkeytest падает на

(gdb) r --hasp
Starting program: /home/baraka/tmp/eterkeytest --hasp
[Thread debugging using libthread_db enabled]
[New Thread -1209772352 (LWP 16984)]
USB:
1d6b:0002 Linux 2.6.25-std-def-alt9 ehci_hcd, EHCI Host Controller (0000:00:13.5)
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209772352 (LWP 16984)]
0xb7f9a3ab in usb_get_string_simple () from /usr/lib/libusb-0.1.so.4
(gdb) bt
#0  0xb7f9a3ab in usb_get_string_simple () from /usr/lib/libusb-0.1.so.4
#1  0x0804a4a4 in print_usb () at eterkeytest.c:591
#2  0x0804b37f in main (argc=2, argv=0xbfacf9a4) at eterkeytest.c:664

Ошибка в выводе списка USB-устройств. Вот strace конца выполнения:
open("/dev/bus/usb/002/001", O_RDWR)    = -1 EACCES (Permission denied)
write(2, "libusb couldn't open USB device /"..., 123libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
) = 123
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
Comment 2 Александр Морозов 2008-10-15 19:19:10 MSD
Исправил ошибку, вызывающую падение eterkeytest. Закоммитил исправление в cvs wine-etersoft.

Вообще, на lin-test libusb (0.9.3-alt2.0) почему-то каждый раз сообщает о том, что не удалось открыть устройство:
$ ./eterkeytest --eutron
USB:
1d6b:0002 Linux 2.6.25-std-def-alt9 ehci_hcd, EHCI Host Controller (0000:00:13.5)
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
1d6b:0001 [none], [none] (none)
libusb couldn't open USB device /dev/bus/usb/003/001: Permission denied.
libusb requires write access to USB device nodes.
1d6b:0001 [none], [none] (none)
libusb couldn't open USB device /dev/bus/usb/003/002: Permission denied.
libusb requires write access to USB device nodes.
093a:2510 [none], [none] (none)
libusb couldn't open USB device /dev/bus/usb/004/001: Permission denied.
libusb requires write access to USB device nodes.
1d6b:0001 [none], [none] (none)
libusb couldn't open USB device /dev/bus/usb/005/001: Permission denied.
libusb requires write access to USB device nodes.
1d6b:0001 [none], [none] (none)
libusb couldn't open USB device /dev/bus/usb/006/001: Permission denied.
libusb requires write access to USB device nodes.
1d6b:0001 [none], [none] (none)

Eutron:
.       ERROR: No Smartkey present

А на cellar (libusb-0.1.12-alt1.0) ничего такого не пишется, хотя права на запись тоже не на все устройства есть:
$ ./eterkeytest  --eutron
USB:
0a89:0003 Aktiv Co., Guardant Stealth/Net II (none)
09da:000a [none], [none] (none)
04b9:0300 [none], [none] (none)
0529:0001 [none], [none] (none)

Eutron:
.       ERROR: No Smartkey present
Comment 3 Денис Баранов 2008-10-22 01:09:44 MSD
В новой сборке такая же картина, везде кроме lin-test eterkeytest отрабатывает нормально.
Comment 4 Александр Морозов 2008-10-22 11:27:45 MSD
> В новой сборке такая же картина, везде
> кроме lin-test eterkeytest отрабатывает нормально.

Такая же - это ошибка сегментирования?
Comment 5 Денис Баранов 2008-10-27 19:55:14 MSK
eterkeytest --list
USB:
libusb couldn't open USB device /dev/bus/usb/001/001: Permission denied.
libusb requires write access to USB device nodes.
Vendor:Product: 1d6b:0002 [hab denied], [hab denied]
libusb couldn't open USB device /dev/bus/usb/002/001: Permission denied.
libusb requires write access to USB device nodes.
Vendor:Product: 1d6b:0001 [hab denied], [hab denied]
Comment 6 Александр Морозов 2008-10-27 20:01:03 MSK
Это libusb пишет, а не eterkeytest, так что я не могу с этим ничего сделать.