drac for dovecot2 on Ubunt 18 LTS

Ubuntu 18.04.1 LTS にアップグレードしたら、メールの読み書きに利用しているdovecotでdracプラグインが動かなくなった。

以前にUbuntu 16 LTSにアップグレードした時は、dovecot2-drac を再コンパイルするだけで済んだが、今回は、プログラムを一部修正したので、メモしておく。

1. dovecot 2用のdracをダウンロード

 dovecotのバージョンが2.2.33.2になっていたのて、https://ja.osdn.net/projects/dovecot2-drac/releases/p12445 から dovecot2-drac-0.1.tar.gz をダウンロードした。

2. dovecotのソースもダウンロヘド

 dobecotのソースも必要とされているが、実際に必要なのはincludeファイルのため、aptコマンドでdovecot-devを取得した。

 apt -y install dovecot-dev

3. dovecot2-drac の修正

 tar zxf dovecot2-drac-0.1.tar.gz

として、dovecot2-dracを展開し、makeしてみた。

make DOVDIR=/usr/include/dovecot

とコマンドを打つと、”drac-plugin.c:13:10: fatal error:network.h: そのようなファイルやディレクトリはありません”というエラーになった。

インクルードファイルを確認するため、/usr/include/dovecot の中を見ると以前のバージョンで network.hとなっていたファイル名が net.h に変わっているようだ。また、プラグインを呼び出す際にロードするモジュールのバージョンを判定しているが、これもABIバージョンを判定するように変わっている。

ということで、drac-plugin.c を次のように修正した。

13行目 "network.h" を "net.h" に変更。
 変更前: #include "network.h"
 変更後: #include "net.h"
28行目 DOVECOT_VERSION を DOVECOT_ABI_VERSION に変更。
 変更前: const char *drac_plugin_version = DOVECOT_VERSION;
 変更後: const char *drac_plugin_version = DOVECOT_ABI_VERSION;

ソースをGitHubにアップしておきました。

https://github.com/m-hagane/drac-plugin-for-dovecot-2.2.33.2

参考にした Web site:

https://ja.osdn.net/projects/dovecot2-drac/

https://github.com/glance-/dovecot2-drac

%d人のブロガーが「いいね」をつけました。