Postfix on OS X 10.3 Panther
(注:当ページ情報は賞味期限切れです)

Back

 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



2003 11/9 updated / C's gallery OS X Tips