Panther純正Postfixはtlsパッチがあたった物を使ってる模様。どうせなので同じようにコンパイルしてみる。ちなみに
BerkeleyDBのインストールは必要なし。
代替sendmailが動かないのはちょこちょことソースをいじれば動くようになった。要はopendarwinのソースと見比べてみただけだったりす
る。
postfixソースとパッチをこちらか
らいただいて、パッチを当てた上でソースを以下のように編集。
パッチ当て。
% patch -fp1 < pfixtls.diff
src/master/master.c
- if ((inherited_limit = get_file_limit()) < 0)
- set_file_limit(OFF_T_MAX);
---
+ if ((inherited_limit = get_file_limit()) < (off_t) INT_MAX)
+ set_file_limit(INT_MAX);
src/util/file_limit.c
の中の変数名OFF_T_MAXをINT_MAXに置換。
src/util/msg_syslog.c
の以下の部分を削除。
/*
* XXX If this program is set-gid, then TZ must not be trusted.
* This scrubbing code is in the wrong place.
*/
if (unsafe())
putenv("TZ=");
tzset();
src/dns/dns.h
-#include <arpa/nameser.h>
+#include <nameser8_compat.h>
Xcodeをインストールするとヘッダファイルの内容がえらく変わるようで、netinfoのヘッダやらが消し飛んでいる(うちだけ?)。ので、
postfixのDBアクセスにnetinfoを使うならXcodeインストール時に10.2.7コンパチSDKをインストールし、そちらから引っ張って
くる必要がある模様。インストールしてあれば以下のように便宜上、リンクを張っておく。
# ln -s
/Developer/SDKs/MacOSX10.2.7.sdk/usr/include/netinfo
/usr/include/netinfo
で、make。
% make makefiles AUXLIBS="-L/usr/lib -lresolv" OPT="-O3"
% make
# make install
TLSを使うなら、おそらく以下のようにすればよいかと。
% make makefiles CCARGS="-DUSE_SSL" AUXLIBS="-L/usr/lib
-lssl -lcrypto -lresolv" OPT="-O3"
% make
# make install
|