再び挑戦。
qmail tcpserverにもパッチをあてる必要があります。パッチを当ててもそのままコンパイルが通りません。qmailの方はconf-ccに-DINET6を追加してコンパイルできるようにすることと、tcpserverの方はEPROTOというのが宣言されていないぞ、というエラーがでます。/usr/include/errorno.hにはEPROTOというのはありません。EPROTOはSysVではあるそうですが、Posixでは ECONNABORTEDでないとだめなようなので、ソースのEPROTO部分をすべてECONNABORTEDに変更します。これでコンパイルは通りました。LinuxではEPROTOが残っているのでしょうか?
tcpserverを実行します。ホストオプション部を0にするとすべてのIPアドレスでListenするはずが、IPv6でしかListenしてくれませんでした。IPv4用のプロセスをもう一つListenしてほしいIPを指定してあげると希望の動作になったように見えます。
・・・しかしながらIPv4 mapped IPv6アドレスをみて制御したりするので、動作が気にくわなかったので元に戻しました。これ以上内部をいじくる気力は今日はありませんでした。
未だにメイルはIPv4でしか受け付けません。すみません。