Безопасен ли поток GNUTLS?Это согласно его собственной документации? - PullRequest
0 голосов
/ 05 февраля 2019

Из GnuTLS 3.6.6 Руководство (выделение мое)

6.1.5 Безопасность потоков

Библиотека GnuTLS по своей конструкции безопасна для потоков, что означает, что объекты библиотеки, такие как сеансы TLS, можно безопасно разделить между потоками , пока один поток обращается к одному объекту .Этого достаточно для поддержки сервера, который обрабатывает несколько сеансов в потоке. Доступ только для чтения к объектам , например, структуры хранения учетных данных, также является потокобезопасным.

Итак ... это не на самом деле потокобезопасен.Следующий абзац продолжается:

Объект gnutls_session_t также может использоваться двумя потоками , один из которых отправляет, а другой получает.В этом случае, однако, необходимо соблюдать осторожность при обновлении ключей и повторных рукопожатиях, чтобы обрабатываться только одним потоком .Завершение сеанса должно быть обработано либо активным отдельным потоком, либо потоком отправителя, использующим gnutls_bye с GNUTLS_SHUT_WR, и потоком-получателем, ожидающим возвращаемое значение ноль.

В моей книгеэто все равно, что заявить, что замок не может быть взломан, пока никто не пытается его взломать, при этом советуясь охраннику, чтобы никто не мог выполнять операции взлома.

Мой английский подводит меня здесь?Я не прав насчет того, что означает безопасность потока?

...