Архив метки: curl

A PKCS #11 module returned CKR_DEVICE_ERROR, indicating that a problem has occurred with the token or slot.

Ходишь-ходишь в школу, а потом «бац — вторая смена»… Эмм я к тому что в 2020 поймать ошибку 2012 года, помеченную на CentOS как «закрытую».. Да еще и на PHP..

А дело вот в чем. На одном из проектов использую WebSocket сервер WorkMan, который имеет псевдомногопотоковость. Внутри потоков, активно использую вызовы curl_exec. Вот они то и вызывают ошибку «A PKCS #11 module returned CKR_DEVICE_ERROR, indicating that a problem has occurred with the token or slot.«, которая выводится при помощи curl_error. Описание ошибки было еще в далеком 2012 году:  https://bugzilla.redhat.com/show_bug.cgi?id=870856

Помечена как «закрытая». А вот и нет.. Хотя на Ubuntu не воспроизводится — только  «CentOS Linux release 7.8.2003»

Как лечим:

export NSS_STRICT_NOFORK=DISABLED

Экранирование специальных символов в curl

Неожиданно подобного вида конструкция вызвала ошибку:

root@ares:~ # /usr/local/bin/curl -k -v --url 'https://dwedwed.do?userName=23уй3уй&password=wdedwe{dwe&orderNumber=00107103933&amount=5100&failUrl=http://edes.tv/client/fail.php&clientId=00107&returnUrl=http://bilewdis.tv/client/payok.php'
curl: (3) [globbing] unmatched brace in column 97
root@ares:~ #

Порыскал в интернетах, ничего толкового не нашел по этой ошибке.  А дело в простом — curl не экранирует специальные символы типа {. Чтобы всё работало, нужно добавить перед этим символом \

/usr/local/bin/curl -k -v --url 'https://swedwdded.do?userName=23уй3уй&password=wdedwe\{dwe&orderNumber=00107103933&amount=5100&failUrl=http://edes.tv/client/fail.php&clientId=00107&returnUrl=http://bilewdis.tv/client/payok.php'