Re: FreeBSD で db5 -> db18 する

From: Satoshi Togawa <freebsdusersjp_at_t11i.jp>
Date: Tue, 01 Nov 2022 03:47:12 UTC
戸川と申します。

私も長年、option BDB 付きのcyrus-sasl2を使い続けておりまして、
この前いろいろと調べたところ、
「sasldbを Berkeley DB から pkg で標準のndbm (= option BDB1) に
   変換する」
という方法で、db5を使わない運用に移行できたので、
参考になるかと思い投稿します。

RedHat系のLinuxには、「cyrusbdb2current」という独自のコマンドが
あるようです。
このコマンドは、
「cyrus-saslのbdb形式のsasldbを、現在インストールされている
   cyrus-saslの形式のsasldbに変換する」
という機能をもつようです。

https://fedoraproject.org/wiki/Change/CyrusSaslBerkeleyDBtoGdbm

このコマンドが追加されたときの差分が以下になります。
https://src.fedoraproject.org/rpms/cyrus-sasl/pull-request/3#_1__10

以下の作業を行いました。

1. cyrus-sasl2パッケージをアンインストールする。
2. pkgやportsから、有効にしたいオプションを含んだcyrus-sasl2を
    インストールする。
    (私はpkgのデフォルトのものをインストールしました)
3. この差分中の新規ファイル「bdb2current.c」を取り出す。
4. 3.で取り出したファイルをコンパイル・リンクする。
    (sasl等のヘッダ・ライブラリを参照できるようにする必要がある)
5. 4.でできた実行ファイルを実行し、新しい形式のsasldbファイルを作る。

以上で作成したsasldb2ファイルを/usr/local/etc/sasldb2.db として
置いたところ、cyrus-imapdでのユーザー認証が行えました。

参考になれば幸いです。



On 2022/11/01 11:58, Masachika ISHIZUKA wrote:
>    竹内様、内藤様
> 
>    石塚@杉並です。
>    私も[bug 26152]がなかなか進展しないので、気にしながらもdb5を使
> い続けているので貴重な情報をありがとうございます。
>    現時点では、db5に重大な脅威はないだろうと思って、未だにdb5を使
> い続けていますが、有事の際にはこの情報を活用させていただきます。