問題タブ [libtls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
565 参照

libressl - libtls: select() と tls_read() の連携

何年も前に書いた古いチャット アプリケーションに SSL サポートを追加したいと考えています。私は OpenSSL と LibreSSL について多くのことを読み、新しい libtls API を試すことにしました。開発者はこれに関して本当に素晴らしい仕事をしたと思います。非常に使いやすいことがわかりました。必要に応じて既存のコードをほとんど変更する必要はありません。しかし、ここで私が今理解しなければならないことが1つあります。

ある日、select() を使用してソケットを監視し、recv() を使用してデータを読み取っていました。これらの関数は両方ともファイル記述子で動作するため、これは簡単でした。

現在、libtls では、関数 tls_read() は最初の引数として tls コンテキストを必要とします。つまり、記述子を読み取る準備ができるたびに、クライアントのリストを検索して適切な tls コンテキストを取得する必要があります。これはそれほど難しいことではありませんが、誰かがより良い解決策を知っているのではないでしょうか? すべてのコメントとコード サンプルに感謝します。