カテゴリー
FreeBSD PHP Squirrelmail

Squirrelmailとphp5.4

FreeBSDのportsにSquirrelmailが入るようになってからずっとports版のSquirrelmailを使っていました。でも、php5.4の環境でインストールしようとするとportsが

/usr/ports/mail/squirrelmail# make configure
===> squirrelmail-1.4.22_3 cannot be installed: doesn't work with lang/php5 port (<span style="color: #ff0000;">doesn't support PHP 5.4</span>).
*** [configure] Error code 1

Stop in /usr/ports/mail/squirrelmail.

と怒ってインストールさせてくれません。仕方が無いのphp 5.3 (php53-*)のportsを入れてやり過ごしてきました。

カテゴリー
FreeBSD Squirrelmail

FreeBSD (Squirrelmail 1.4.19)

portsの毎日のレポートでアップしろと勧めてくれるのをようやくアップしました。
作業的には前回を同じ。
portupgrade して、このページ日本語パッチを落としてきてサーバー上で解凍。できた squirrelmail-1.4.19-ja-20090522-patch を /usr/local/www/squirrelmail に置いて同じ場所から

# patch -p1 < squirrelmail-1.4.19-ja-20090522-patch [/code] で完了。

カテゴリー
FreeBSD Squirrelmail

FreeBSD (Squirrelmail 1.4.17)

前回から大分たちますが、

Affected package: squirrelmail-1.4.13
Type of problem: squirrelmail — Cross site scripting vulnerability.
Reference: <http://www.FreeBSD.org/ports/portaudit/d1ce8a4f-c235-11dd-8cbc-00163e000016.html>

という警告が出てたのを放っておいたのを遅ればせながらアップデートしました。いつものとおりportupgradeした後、日本語向けのパッチを当てる。今回はsquirrelmail-1.4.17-ja-20081204-patch.gz

ヘッダの加工はclass/deliver/Deliver.class.phpを

# diff Deliver.class.php Deliver.class.php.original
579,580c579
<             //$header[] = “Received: from $received_from” . $rn;
<             $header[] = “Received: from ほげほげ(IPアドレス)” . $rn;

>             $header[] = “Received: from $received_from” . $rn;

の一箇所でOK。

カテゴリー
FreeBSD Software Squirrelmail

FreeBSD (Squirrelmail)

/usr/ports/mail/squirrelmail

以前は/user/ports/japanese/に日本語版が置いてあったが今はここのみに置いてあるみたい。

日本語版本家では1.4.5で止まっているけど、portsのは1.4.8。とりあえずportsで入れてみる。

# cd /usr/ports/mail/squirrelmail
# portinstall

その後、/usr/local/www/squirrelmailに降りて、

# cd /usr/local/www/squirrelmail
# ./configure

で各種設定を行う。

日本語を使うなら、 メニュー10番目のLanguageの所を

Language preferences
1.  Default Language       : ja_JP
2.  Default Charset        : iso-2022-jp
3.  Enable lossy encoding  : false

でOK。あと、メニュー2番目のServer SettingsでIMAPサーバーを選択すれば使えるようになります。ウチはuw IMAPなのでこんな感じ。

IMAP Settings
--------------
4.  IMAP Server            : localhost
5.  IMAP Port              : 143
6.  Authentication type    : cram-md5
7.  Secure IMAP (TLS)      : false
8.  Server software        : uw
9.  Delimiter              : detect

あとは、適当に好みで。

apacheの設定は、SSLで使いたかったのでIncludesに置いたhttpd-ssl.confに下記を追記。

<code>Alias /webmail "/usr/local/www/squirrelmail"</code>
AllowOverride All
Options FollowSymLinks ExecCGI Includes
Allow from All

これで https://wwwほげほげ/webmail で使えるようになる。
ところが、 返信とかすると下記のようなウォーニングが。

Warning: preg_split() expects parameter 4 to be long, string given in /usr/local/www/squirrelmail/functions/imap_messages.php on line 808Warning: Invalid argument supplied for foreach() in/usr/local/www/squirrelmail/functions/mime.php on line 52

ぐぐってみたらパッチ発見。

http://www.hmailserver.com/forum/viewtopic….

http://sourceforge.net/tracker/index.php?func=detail&aid=1543573…..

# diff imap_messages.php.org imap_
messages.php
808c808
&lt; $flags = preg_split('/ /', $regs[1],-1,'PREG_SPLIT_NI_EMPTY');
---
&gt;                 $flags = preg_split('/ /', $regs[1],-1,PREG_SPLIT_NO_EMPTY);

これで解決。