mikutter blog

mikutterのアナウンスなど

mikutter 4.1.7

jp.techcrunch.com

Let's Encryptのルート証明書の期限が切れましたが、なんとその影響でmikutterでMastodonできなくなっていました。

経緯はチケットに書いているのですが、Mastodonプラグインがhttpclientを使っていたのもはっきり覚えていなかったし、httpclientにそのような問題があったことも承知してなかったので、まじか〜となっていました。

開発当初は、bundlerのような便利なものがなかったこともあって依存するgemを可能な限り減らす方針でした。 そのためTwitterプラグインはこういったgemは使っていなかったのですが、photo_supportプラグインは比較的最近であることと、画像取得のためにリファラ偽装などの面倒な操作を要求されるといった理由があってhttpclientを使っていました(photo_supportの接続先はLet's Encryptを使っていないので今回問題にはなりませんでしたが)。

Mastodonプラグインの前身のWorldonプラグインはmikutterが標準で使ってるgemということでhttpclientを採用していたっぽいです。そして、大抵のMastodonサーバはLet's Encryptを利用しているため今回のようなことになりました。私もgtk3対応のためにまさに開発しているタイミングで突然証明書が切れたので何事かと思って寝ました。

私はhttpclientの採用にはもともと消極的だったんですが、かといってすでに使っているところから取り除くほど悪いものとも思っていないので置き換えはしないと思います。しかし現在も接続周りに既知の問題があったりするので、どうなるかはわかりませんね。

ひとまず、mikutterはhttpclientにバンドルされた証明書を参照しないように変更したため、今後同様の問題は発生しなさそうです。