hatedara.el security fix

  • パスワードは引数で渡さないように
  • 非同期送信の時にカレントディレクトリを指定していなかったのを修正
  • ログイン失敗の場合のみユーザ名とパスワードをクリアするように
  • 同期送信で成功した場合はログは表示しないように
  • バッファ先頭の delete はタイトルとは別のフェイスに

パスワードの件を修正しました。マルチユーザ環境でお使いの方は Rev 1.12 以降をご利用下さい。→ http://www.geocities.jp/emacsjjjj/hatedara/

修正したのはいいんだけど同期送信の時のパスワードの渡し方はこれでいいのかなあ。

Emacs から起動するサブプロセスには同期プロセスと非同期プロセスの二種類がある。非同期の場合にはプロセスフィルタを使ってサブプロセスからの出力を受け取り、それに応じた入力を渡す、といったことが出来る。つまりはてダラがパスワードのプロンプトを出してきたらサブプロセスにパスワードを渡してやればいい。こっちはオーケー。

同期プロセスの場合はそういったことができなくて、必要なデータはプロセスを起動する時に全て用意してやる必要がある。はてダラがパスワード聞いてきても Emacs としてはどうしようもない。同期だから。

どうしよっかなーと考えて結局「サブプロセス起動時に標準入力にパスワードを渡す」という方法をとってみた。というか思い付きで試したら手元の Debian では動いた。でもかなり怪しいやり方な気がするです。Windows とかではちゃんと動くんだろうか…。

とか言いつつデフォルトは同期送信にしてます。もしもうまく送信できない場合は `hatedara-submit-async' を t にするとうまくいくかもしれません。うまくいったとか動かねーぞボケとか教えてくれると嬉しいです。あ、ちなみに僕は非同期で使ってます(笑)


なんかここんとこ hatedara.el のことばっか書いてるな。はてなを書くために作ってるのか、作るためにはてな書いてるのかよく判らん状態になっとる。よーし、次こそは別のネタにするぞー…バグがなければ。