OpenVPN 2.3 вылетает на OS X 10.9 при работе с PKCS#11 провайдером
Настраиваю доступ к OpenVPN серверу с авторизацией по Рутокену. На клиенте стоит OS X 10.9 "Mavericks" с Viscosity, являющимся GUI-евой оберткой для клиентского режима OpenVPN.
При обращении OpenVPN 2.3 (внутри Viscosity) к рутокеновскому PKCS#11 провайдеру (librtpkcs11ecp.dylib), OpenVPN сразу же вылетает.
Кусок из crash log:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libdispatch.dylib 0x00007fff95c9366a _dispatch_barrier_async_f_slow + 59
1 com.apple.CoreFoundation 0x00007fff901d33f9 __CFRunLoopFindMode + 761
2 com.apple.CoreFoundation 0x00007fff901d301b __CFRunLoopCreate + 491
3 com.apple.CoreFoundation 0x00007fff901d2bed _CFRunLoopGet0 + 269
4 librtpkcs11ecp.dylib 0x000000010217c895 0x102109000 + 473237
5 librtpkcs11ecp.dylib 0x000000010217856a 0x102109000 + 456042
6 librtpkcs11ecp.dylib 0x00000001021798b9 0x102109000 + 460985
7 librtpkcs11ecp.dylib 0x000000010213a9b5 0x102109000 + 203189
8 librtpkcs11ecp.dylib 0x0000000102114013 0x102109000 + 45075
9 librtpkcs11ecp.dylib 0x0000000102156e78 C_Initialize + 168
Разработчик Viscosity считает, что проблема требует решения с вашей стороны.
Что нужно, чтобы быстро воспроизвести вышеупомянутый вылет:
Установите Viscosity на OS X.
Создайте новое подключение.
В настройках подключения укажите:
Authentication type: SSL/TLS Client (PKCS11)
Providers: "/usr/lib/pkcs11/librtpkcs11ecp.dylib"
Retrieval: Use certificate name below
Нажмите кнопку Detect рядом с полем Name. После этого Viscosity отрапортует "No PKCS11 names detected". В Console.app (или system.log) найдите информацию о вылете.
Проблему можно воспроизвести и без Viscosity, на "голом" OpenVPN, просто мне удобнее работать с GUI.
Временный workaround: использовать старую версию OpenVPN 2.2, которая не вылетает при работе с провайдером.