Hi,

thanks for your answer.

> According to the log you sent, the OpenCT is freezing when it tries to
> open the endpoint 0x02 before sending data to the reader (see file
> src/ifd/sys-bsd.c, lines 111-116).

It is nevertheless still there, since plugging in a token 
just shows the token and the reader. I guess it gets stuck 
at some place because of an unforeseen condition not properly
catched.

$ sudo openct-tool list
   0  (0 slots)
   1 Aladdin eToken PRO 64k

Watching ps, you can tell that it is still alive:

9203 ??  Is      0:00.00 /usr/local/sbin/ifdhandler -H -dd pertosmart1038 
/dev/ugen0
 546 ??  Rs      5:19.27 /usr/local/sbin/ifdhandler -H -dd etoken64 /dev/ugen1
   
> The function open_ep uses the following line to build the endpoints's
> device name:
>
>   sprintf((char *)&filename, "%s.%d", name, endpoint);
>
> I guess this function is trying to open the endpoint named
> "/dev/ugen0.2". Is that name correct for OpenBSD?

You're right, but I patched this function before, since
endpoints in OpenBSD always are prepended by 0 if smaller than
10. The endpoint is recognized correctly then:


+#ifdef __OpenBSD__
+       sprintf((char *)&filename, "%s.%02d", name, endpoint);
+#else
+       sprintf((char *)&filename, "%s.%d", name, endpoint);
+#endif /* __OpenBSD__ */
       

I really don't have the slightest idea whats going that wrong here. 
So it would be utterly helpful if I knew if it worked on either
FreeBSD or NetBSD the way it is supposed to work.

Thanks in advance,
/Markus

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to