|
sylpheed-jp:2645
From: IWAMOTO Kouichi <sue@xxxxxxxxxx> 岩本です。 On Thu, 8 Apr 2004 11:58:27 +0900 Hiroyuki Yamamoto <hiro-y@xxxxxxxxxx> wrote: > src/passphrase.c は Werner Koch 氏(GnuPG の作者)提供のコードなので、 > 正確な意図はよく把握していないのですが(^^;、恐らくは、 > スパイウェアのようなものを仕込まれて、キーボードの入力を記録して > パスフレーズを盗まれたりするような事態を防止することを想定している > のではないかと推測します。 > > gdk_keyboard_grab() 等のみでも上記の目的が達成できるなら、 > XGrabServer() は外してしまおうかと思いますが、大丈夫でしょうか。 Xプログラミングに関する知識がまったく無いので、fj.comp.x11で訊いてみましたが、 あまり返事はありませんでした。 http://groups.google.co.jp/groups?dq=&hl=ja&lr=&ie=UTF-8&oe=UTF-8&group=fj.comp.x11&selm=040412181626.M0113285%40tomoko.iwmt.org http://groups.google.co.jp/groups?dq=&hl=ja&lr=&ie=UTF-8&oe=UTF-8&group=fj.comp.x11&selm=040428015716.M0155713%40tomoko.iwmt.org その結果、安全かどうか判断できなかったので、他の案を考えて見ました。 まず、現在判っている事を整理すると、 ・「パスフレーズの入力時に入力を捕捉する」(以下「入力の捕捉」)がONの時、 IMがONのまま送信すると、パスフレーズの入力でハングアップする。 ・「入力の捕捉」がONの時、パスフレーズの入力ウィンドウの入力フィールドに フォーカスが移るとハングアップする。 ・「入力の捕捉」がOFFの時は、上記条件でもハングアップしない。 ・passphrase.c内のXGrabServer()を外すと、「入力の捕捉」がONでもハング アップしない。 ・XMODIFIERS= sylpheed と、IMを使用しない状態で起動するとハングアップしない。 上記の事から、XGrabServer()とIMの両方を使っているとハングアップが起きる (起きやすい)という事だと思います。 おそらく、以下のような状態になるため、ハングアップしていると思います。 sylpheed側: XGrabServer()をしたまま、IMからの入力を待っている。 IM側: なんらかの理由(画面表示?)のためXサーバにアクセスしようとして、 XGrabServer()が解除されるのを待っている。 その結果、お互いに相手の動作を待つため、デッドロックしている。 上記の事が正しいとして対策を考えると、以下の二つがあると思います。 1. パスフレーズの入力時は、IMを使わないで入力を受け取るようにする 2. 「入力の捕捉」の下あたりに「Xサーバも占有する」のような設定を作る 1.の方がキーロガーのような物に対して安全だと思いますが、このような事が 実際に出来るのでしょうか? 2.の方は、XGrabServer()を完全に外すよりはいいと思います。 以上、検討をお願いします。 -- いわもと こういち(sue@xxxxxxxxxx/sue@xxxxxxxxxx) # なるようになれ、明日もイケイケ♪ 2634 2004-04-02 00:02 [app_grandy@xxxxxxxxx] 電子署名を付けるときにハングアップ? 2635 2004-04-05 12:01 ┗[sue@xxxxxxxxxx ] 2636 2004-04-05 13:57 ┗[app_grandy@xxxxxxxxx] 2642 2004-04-07 21:58 ┗[sue@xxxxxxxxxx ] 2643 2004-04-08 11:58 ┗[hiro-y@xxxxxxxxxx ] -> 2645 2004-05-10 23:09 ┗[sue@xxxxxxxxxx ] 2650 2004-05-11 19:19 ┗[hiro-y@xxxxxxxxxx ] |