001-009474
メールの添付ファイルパートのboundaryが破損していると、フルインデックスの作成時に添付ファイルパートの取得に失敗し、一時ファイルが正しく作成されない。
- 種別
- 不具合
- 機能
-
- メール
- 再現バージョン
-
- 4.0.0
- 4.0.1
- 4.0.2
- 4.0.3
- 4.2.0
- 4.2.1
- 改修バージョン
- 4.2.2
- 公開日
- 2016-04-13
- 更新日
- 2016-05-27
詳細
【発生条件】
次の条件を満たす場合に発生します。
- メールの添付ファイルパートのboundaryが破損している。
【準備】
- 全文検索をインストールし、ガルーンで利用できるよう設定します。
- メールソースの添付ファイルパートのboundaryが破損しているSample_Mail1を、1件受信します。
例:
- 正常時:
-------
Return-Path: user1@xxxxx.co.jp
X-Original-To: user1
Delivered-To: user1@xxxxx.co.jp
Received: xxxxx by xxxxx ; Mon, 01 Jan 20xx 00:00:00 +0900
Date: Mon, 01 Jan 20xx 00:00:00 +0900
Subject: Sample_Mail1
From: user1 <user1@xxxxx.co.jp>
To: user1@xxxxx.co.jp
X-Mailer: Cybozu(R) Garoon(R)
Message-Id: <12345678901234567890123457890@xxxxx.co.jp>
mime-version: 1.0
Content-Type: multipart/mixed; boundary="=_cb_cbgrn_0_12345678_9012345678_9_0123"
--=_cb_cbgrn_0_12345678_9012345678_9_0123
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
SampleText1
--=_cb_cbgrn_0_12345678_9012345678_9_0123
Content-Type: text/plain; name="SampleFile1.txt"
Content-Disposition: attachment; filename="SampleFile1.txt"
Content-Transfer-Encoding: base64
SampleFile1
--=_cb_cbgrn_0_12345678_9012345678_9_0123
Content-Type: text/plain; name="SampleFile2.txt"
Content-Disposition: attachment; filename="SampleFile2.txt"
Content-Transfer-Encoding: base64
SampleFileText2
--=_cb_cbgrn_0_12345678_9012345678_9_0123--
-------- - 破損時:
-------
Return-Path: user1@xxxxx.co.jp
X-Original-To: user1
Delivered-To: user1@xxxxx.co.jp
Received: xxxxx by xxxxx ; Mon, 01 Jan 20xx 00:00:00 +0900
Date: Mon, 01 Jan 20xx 00:00:00 +0900
Subject: Sample_Mail1
From: user1 <user1@xxxxx.co.jp>
To: user1@xxxxx.co.jp
X-Mailer: Cybozu(R) Garoon(R)
Message-Id: <12345678901234567890123457890@xxxxx.co.jp>
mime-version: 1.0
Content-Type: multipart/mixed; boundary="=_cb_cbgrn_0_12345678_9012345678_9_0123"
--=_cb_cbgrn_0_12345678_9012345678_9_0123
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
SampleText1
--=_cb_cbgrn_0_12345678_9015678_9_0123
Content-Type: text/plain; name="SampleFile1.txt"
Content-Disposition: attachment; filename="SampleFile1.txt"
Content-Transfer-Encoding: base64
SampleFile1
--=_cb_cbgrn_0_12345678_9012345678_9_0123
Content-Type: text/plain; name="SampleFile2.txt"
Content-Disposition: attachment; filename="SampleFile2.txt"
Content-Transfer-Encoding: base64
SampleFileText2
--=_cb_cbgrn_0_12345678_9012345678_9_0123--
--------
- 正常時:
- 受信したメールを既読にします。
【再現手順】
- コマンドラインを開きます。
- CGI実行ディレクトリーに移動します。
例:
Windowsの場合
cd C:\Inetpub\scripts\cbgrn
Linuxの場合
cd /var/www/cgi-bin/cbgrn - 次のコマンドを実行し、全文検索のインデックスを作成します。
例:
Windowsの場合
.¥grn.exe -C -q code¥command¥fts¥full_index.csp number=1
Linuxの場合
./grn.cgi -C -q code/command/fts/full_index.csp number=1 - tmp_solr_indexディレクトリ―を確認します。
Windowsの場合:
C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index
Linuxの場合:
/usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index
→現象発生:
メールの添付ファイルをインデックスするための一時ファイルが6件作成されます。
例:
Windowsの場合:
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\AAAA.tmp
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\BBBB.tmp
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\CCCC.tmp
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\DDDD.tmp
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\EEEE.tmp
- C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\FFFF.tmp
Linuxの場合:
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/AAAAAA.tmp
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/BBBBBB.tmp
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/CCCCCC.tmp
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/DDDDDD.tmp
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/EEEEEE.tmp
- /usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/FFFFFF.tmp
→正しい結果:
tmp_solr_indexディレクトリ―内にディレクトリ―が作成され、そのディレクトリー内に、メールの添付ファイルをインデックスするための一時ファイルが1件作成されます。
例:
Windowsの場合:
C:\Program Files\Cybozu\mysql-5.0\files\cbgrn\mail\tmp_solr_index\1111\AAAA.tmp
Linuxの場合:
/usr/local/cybozu/mysql-5.0/files/cbgrn/mail/temp_solr_index/1111/AAAAAA.tmp
補足:
- 添付ファイルパートの取得に失敗したメールのファイルは、検索できません。
- 添付ファイルパートの破損状況により、作成される一時ファイルの件数が異なります。
- 本現象が発生した場合、次の現象が発生します。
メールの添付ファイルパートのboundaryが破損している場合、その添付ファイルと同じ名前のファイルを検索しても、該当するファイルが検索結果に表示されない場合がある。
https://kb.cybozu.support/article/32555/
回避/対応方法
【回避方法】
次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
- バージョン 4.2.2のガルーン
-----------------------------------------------------------
【更新履歴】
2016/05/17 タイトルを更新しました。