That is never going to work. We will never permit raw access to usb devices like that, in fact we are headed completely the other direction with /dev/fido support hiding the complexity.
=?utf-8?Q?L=C3=A9vai=2C_D=C3=A1niel?= <l...@ecentrum.hu> wrote: > Hi all! > > I'm trying to implement pledge(2) support into kc(1) (in ports) while using > it with a Yubikey. > So far this is my pledge string: > char *pledges = "cpath exec fattr flock proc rpath stdio tty unix > wpath"; > > This covers everything it would do without the Yubikey. But I can't seem to > find the proper "promise" that would allow it to use the Yubikey (I've tried > adding everything at one point). > The application dies with (on -current): > Abort trap (core dumped) > kc[35302]: pledge "tty", syscall 54 > > And the trace looks like this: > #0 ioctl () at -:3 > No locals. > #1 0x00000fb51385e600 in libusb_interrupt_transfer () from > /usr/local/lib/libusb-1.0.so.1.2 > No symbol table info available. > #2 0x00000fb513856864 in libusb_get_device_list () from > /usr/local/lib/libusb-1.0.so.1.2 > No symbol table info available. > #3 0x00000fb53bf41e82 in _ykusb_open_device () from > /usr/local/lib/libykpers-1.so.0.8 > No symbol table info available. > #4 0x00000fb53bf408ab in yk_open_key_vid_pid () from > /usr/local/lib/libykpers-1.so.0.8 > No symbol table info available. > #5 0x00000fb25fdac4d9 in kc_ykchalresp () from /home/daniell/kc/kc > No symbol table info available. > #6 0x00000fb25fd9f293 in main () from /home/daniell/kc/kc > No symbol table info available. > > These are the last couple of line from ktrace: > 35302 kc CALL open(0x7f7ffffee1f0,0x2<O_RDWR>) > 35302 kc NAMI "/dev/usb0" > 35302 kc RET open -1 errno 13 Permission denied > 35302 kc CALL kbind(0x7f7ffffede88,24,0x18365a7b5e816bae) > 35302 kc RET kbind 0 > 35302 kc CALL open(0x7f7ffffee1f0,0x2<O_RDWR>) > 35302 kc NAMI "/dev/usb1" > 35302 kc RET open 7 > 35302 kc CALL kbind(0x7f7ffffede88,24,0x18365a7b5e816bae) > 35302 kc RET kbind 0 > 35302 kc CALL ioctl(7,USB_DEVICEINFO,0x7f7ffffedf50) > 35302 kc PLDG ioctl, "tty", errno 1 Operation not permitted > 35302 kc PSIG SIGABRT SIG_DFL > 35302 kc NAMI "kc.core" > > > I don't know if this matters, but for even ykinfo(1) (in the ykpers port) to > work, I had to: > # chmod g+w /dev/usb1 > # chmod g+rw /dev/ugen0.00 > > Could someone hit me with a clue-bat how to pledge for using a Yubikey (or > rather, I guess, any USB device?). > > > Thanks in advance, > Dani >