[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:54602] Re: Icedoveの添付ファイルアクセス権



武藤@Debianぷろじぇくとです。

At Wed, 27 Oct 2010 04:58:46 +0900,
Tomoo Nomura wrote:
> SqueezeのIcedoveですが、添付ファイルを開くと、/tmpに保存され割り当てられ
> たProgram起動します。その時の/tmp上の一時ファイルですがアクセス権が400と
> なります。tiff画像などが添付されている場合、回転させて見たい場合もあるの
> ですがエラーになってしまいます。
> このアクセス権を600に変えてやりたいのですが、どこかで設定できないでしょ
> うか?

Lennyのicedove 2.0だとTMP内のファイルはパーミッション0600ですが、
Squeeze以降のicedove 3.0だと確かに0400になりますね。

コードが複雑なので追いかけるのに時間がかかったのですが、
mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp:

    // make the tmp file readonly so users won't edit it and lose the changes
    // only if we're going to delete the file
    if (deleteTempFileOnExit || gExtProtSvc->InPrivateBrowsing())
      mFinalFileDestination->SetPermissions(0400);

というのが変更点に思われます。
ここをいじってビルドし直せば(deleteTempFileOnExitやInPrivateBrowsingを
外部設定項目から変えるのは不可能そう)とりあえずは変わりそうな気はします。

ただ、コードにも理由のコメントがありますし、「テンポラリなプレビュー画像を
変更する際にいちいち保存をしてしまう」というヘルパーアプリケーションの筋が
悪い、とも言えるでしょう。
たとえばevinceをヘルパーに使っている場合には、回転の際に保存をすることは
ありません。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)