Maxの日記: uw-imap+てんこもり拡張 on Mandrake 8.1(2) 6
日記 by
Max
冷静に考え直す。
もともと、Cookerで提出されていたspecファイルを元に作っていたのだが、これはファイルのレイアウト、コンパイルオプションなどを考えてのこと。これらは2001.FINAL用に内容を逐一確認しながら作成しなおしたほうがよいと思われる。
オリジナルのimap-2001.FINALを展開して、レイアウトやコンパイルオプションに関する変更を反映したPatchを作ってみることにする。
・・・・う、パッチが干渉している。
今から外出なので続きはまた、あ・と・で。
specファイル (スコア:2)
imap.spec---
%build
EXTRACFLAGS="-DQMAIL -DRESTRICT_POP -DPOSTFIX" <--HERE
EXTRACFLAGS="$EXTRACFLAGS -I%_includedir/openssl"
---
として、EXTRACFLAGSをspecファイルのbuild過程で明示的に定義しないとだめ。
-- (ま)
Re:specファイル (スコア:2)
Mandrake用のパッチを適用し、imapextパッチを適用したあとに、APOPtools用に必要なパッチを施す。必要な変更をspecファイルにも入れる。内容はレイアウトの違いを反映する程度。
/usr/local/etc/pop3-record -> /etc/pbs/pop3-record
/usr/local/sbin/deapop -> /usr/sbin/deapop
/usr/local/bin/apoppaswd -> /usr/bin/apoppasswd
/usr/local/apache/cgi-bin -> /var/www/cgi-bin
この変更を
src/osdep/unix/Makefile.md5
APOPtools/Makefile
に反映。
-- (ま)
pop3-record (スコア:2)
pop3,apopは動いているようなのだが、POP before SMTPが動いていない。/etc/pbs/pop3-recordの流れを見ているが・・・
hosts.allowの内容に
ipop3d : ALL : spawn( export RELAYCLIENT=%h ) :allow
と追加しても、xinetdでは環境変数をipop3dに渡してくれないようだ。
/etc/xinetd.d/ipop3に
passenv = RELAYCLIENT
として、環境変数を与えても pop3-record にこの変数は行き渡っていない。試しにhosts.allowに
spawn ( export RELAYCLIENT=%h; /etc/pbs/pop3-record )
と記述すると、アクセスしてきたクライアントのアドレスが追加される。
-- (ま)
Re:pop3-record (スコア:2)
-- (ま)
Re:pop3-record (スコア:2)
src/osdep/unix/env_unix.cを見ると、どうやら主にロギングのためにソケットのpeerのアドレスを掘ってるところがあった。
hogehoge.unya.gr.xx [123.456.789.456]
みたいな形式ではいてるので、これを加工して"[]"の内部だけをPbSの許可アドレスに突っ込んでやればよいのかな。なんか、リゾルバで時間食ってそうで楽しくないが、とりあえず実験してみるかな。
・・・・正規表現を忘れている、sedでフィルタがかけない(爆)
しかし、tach氏の頁とか見るに、ここまで苦労されていないようなのだが・・・・postfixとtcpserver使ってるのだろうか。
-- (ま)
Re:pop3-record (スコア:2)
忘れないように書いておきます。
sed -e "s/.*\[//g" -e "s/\]$//g"
ついでに、/etc/pbsにインストールされるスクリプトは実際のところ一本で良くて、postfixではpop3-recordだけでよい。
pop3-ageはシンボリックリンクで用意してやればいい。
それから、/etc/hosts.allowは/etc/hosts.allow.srcというテンプレートに接続許可ホストを追加するような形で生成されるスクリプトがついていたがこれはゴミだ。inetdでの制御なら、
smtp: hoge,huga,hidebu : allow
的な記述を追加するのかもしれんが、ucspi-tcpのtcp-envを指定したようなちと変なスクリプトだったのでこれは除外。
-- (ま)