Berkeley の saslpasswd2 サポート

Berkeley の saslpasswd2 サポート

saslpasswd2Postfixで使用され(saslpasswd2 / LibSasl:2.1.26)を使用して作成された複数のCentOS 7システムにSASLデータベースがあります。 Berkeley DB (ハッシュ、バージョン 9、デフォルトのバイト順) 形式です。

開発システムをArch(最近のSolusで)に変更した後、アップデートスクリプトを使用してそのようなデータベースアップデート(CentOSで同期)をテストすることはできません。

$ echo "pass123" | /usr/sbin/saslpasswd2 -p -c -f sasldb2 -u some.domain [email protected]
saslpasswd2: generic failure

Archのバージョンはsaslpasswd22.1.27で、CentOSとArchシステムの両方にインストールされますlibdb 5.3。 sasldb2 dbファイルを最初から作成すると、CentOS 7ではBerkeley形式、ArchではGNU dbm形式のデータベースが提供されます。

rsync同期時に最初にデータベースを変換するように開発マシンを変更したり、saslpasswd2がBerkeleyDBのサポートを削除したという記録がある場合は、CentOSマシンを更新することもできます。しかし、なぜこれが起こるのかをよりよく理解しています。おそらく、Berkeley DbをサポートするようにArchを変更することもできます。saslpasswd2

この一般的なエラーの原因は何であり、どのように解決できますか?

(ファイルは書き込み可能です。両方のコンピュータのハッシュを比較しました。)

ベストアンサー1

私はこの問題に直面して最初からlibsaslをコンパイルしました(https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.28/cyrus-sasl-2.1.28.tar.gz)。 berkeleydb形式saslpasswd2(および `sasldblistusers2)をサポートすることをお勧めします(tarアーカイブのdoc/legacy/install.htmlに従って)。

おすすめ記事