rustls::ServerConnection で client 側の payload を復号するためには、TLS のバージョンすら教えてあげる必要がある。なぜならば、client 側が TLS 1.3 の利用可能性を offer してしまったとき、rustls 側もそれに対応するように TLS 1.3 のための payload を吐き出す処理を開始してしまうからだ。これは VSCode で test を debug にかけたときのローカル変数の値を見ていて気づいた。デバッガーの利便性に思わぬところで気づかされた。

もしかしたら tls13_enabled という変数によっては ClientKeyExchange を読み込むときの長さの検知が変わってくるかもしれないので確認する。

割と TLS 1.3 であるときの処理は違ってきていそう。これを検知するためにはどうすればよいか悩んだが、curl で SSLKEYLOGFILE を吐かせたときに TLS 1.2 を使っている場合は CLIENT_RANDOM の一行がセッションごとに出てくるだけなので、これを利用して TLS 1.2 が利用されているであろうことを rustls::ServerConnection に教えることができそう。そのためにフィールドを ServerConfig に追加してみた。

https://github.com/rustls/rustls/blob/902c8e02645fced249849d7f658a2fd630d51ef4/rustls/src/server/hs.rs#L291version に事前に把握できることである TLS 1.2 であることを示す値を格納してあげたら Handshake はうまく処理されたっぽい。

inotify クレートの利用に関する記事 https://stackoverflow.com/a/45316225
IGNORED がイベントで渡されてくると、その監視が解除されたことを意味するらしい。
inotify は inode にアタッチされて利用されるので、存在しないファイルに対してはまだアタッチすることができない。しかしながら、ディレクトリに対する監視をつけて新規ファイルの作成を見ておくことはできるらしい。





以下、takonomura との Ultra-Coins での雑談で知ったこと。

https://www.reddit.com/r/programming/comments/3kzdh2/the_motivation_for_a_monolithic_codebase_why/

https://github.com/jhuangtw/xg2xg

https://assets.ctfassets.net/vtn4rfaw6n2j/2016-jenkins-world-jenkinsinsidegooglepdf/1c94f65f5624b9420e6c0cc519d6e8ad/2016-jenkins-world-jenkins_inside_google.pdf

Multi-Colo PoP
https://cfdata.lol/colos/


https://en.wikipedia.org/wiki/.ga
RDAP: Registration Data Access Protocol


https://docs.github.com/ja/enterprise-cloud@latest/admin/identity-and-access-management/understanding-iam-for-enterprises/about-enterprise-managed-users

Minecraft ではアーマースタンドが登場してから、それを利用した表現の幅広さによってプラグイン界隈が相当盛り上がったらしい。それと 3D texture を利用できるようになったことにより、プラグインとリソースパックを組み合わせてサーバ側で処理を頑張ることにより車が運転できるようになったり動く歩道のようなものが作れるようになったらしい。




How are they going to describe that they had caught some rain on their body and want to say “I’m wet,” but it might work in the complete misleading way?

armor: verb




impolite to polite with ChatGPT
the rock meme
spyro
Crash Bandicoot