先日のブログ で紹介したcache-stnsdとの連携に加えて、libcrypto.soの競合で起こるSEGV への対応として、OpenSSLとCurlをstaticリンクしました。
cache-stnsdとの連携
先日ブログを書いたところ、 @fujiwara さんから即フィードバックをもらえたので、cache-stnsdはインストールは必須としたものの、利用するかどうかは運用者で決定できるようにしました。
具体的には/etc/stns/client/stns.conf
にuse_cached = true
と書いた場合のみ、cachedを利用するようにします。またこれはv3のリリースでデフォルト値となります。
また先日Twitterにも書きましたが、開発者としても運用者としても使ってくださる皆様の要望に合理性の範囲内でなるべく答えたいと思っているので、TwitterなりGithub issueなりでどんどんご意見頂けると嬉しいです。
関連ライブラリのStaticリンクについて
ペパボで利用しているNginxとChefで問題がおきていたので、CurlとOpenSSLをsoにStaticリンクするようにしました。具体的にはNginxでOpenSSLをStaticリンクしている場合や、ChefがEnbeded Rubyを利用する関係でOpenSSL系のメソッドで競合が発生し、SEGVする事象がありました。
それらに対する根本的な対応として、Staticリンクすることで、より多くの環境で安定動作する方向に意思決定しました。
テスト実行に加えて、Ubuntu 16/18、CentOS7については手元で動かして動作検証を取ってありますが、その他のOSについては基本的にはビルドが通れば動くものではあると思っているので万が一何かあれば雑にご連絡ください。