plugin の仕様について (Re: [Hiki-dev] default+latex スタイル)

Kazuhiko kazuh****@fdiar*****
2003年 8月 17日 (日) 10:51:02 JST


かずひこです。

At Sun, 17 Aug 2003 10:33:29 +0900,
Kenta MURATA wrote:
>   <latex>...</latex>
>   <math>...</math>
>   <equation>...</equation>
> 
> というHTML風なマークアップを,default スタイルに追加したもので
> す.
(snip)
>   http://www.momonga-linux.org/~muraken/tmp/hiki-default+latex-20030817.tar.gz

さっそく眺めてみました。ですが、このままマージするのは、「今の Hiki の枠
組では」危険です。

plugin/latex.rb に、

def latex_system(cmdline, dir=nil)
  STDERR.puts("latex.rb: #{cmdline}") if latex_enable_log?
  rv = nil
  begin
    oldpwd = Dir.pwd
    Dir.chdir(dir) if dir
    cmdline += " >/dev/null"
    cmdline += " 2>&1" unless latex_enable_log?
    rv = system(cmdline)
  ensure
    Dir.chdir(oldpwd) if dir
  end
  rv
end

とあります。むらけんさんの意図どおりに <latex>...</latex> という使い方を
する分には問題ないのですが、上記のようなメソッドが定義されていると、

  {{latex_system('任意のコマンド')}}

みたいなことができてしまいます。これは、hiki のように誰でも書けるシステ
ムでは危険です。

現状では、プラグインファイルに定義されているあらゆるメソッドが、プラグイ
ン呼び出しの枠組でアクセスできてしまいますが、例えば「private なメソッド
はプラグインとして呼び出しできない」ような仕様が望ましいのではないかと思
います。
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  ★シャア「名字が付いてない」
  ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」



Hiki-dev メーリングリストの案内
Back to archive index