2000/07/10    Ssh-1.2.30 and Ssh-2.2.0

ssh の更新。1.2.30 は、以前の US 版(RSAREF つき)にあったセキュリティーホールの修正を含むバグフィックス。 ssh-2.2.0は、sshd_config に特定のパラメータ値を設定した場合に発生する DoS セキュリティーホールの修正を含む バグフィックスおよび、いくつかの機能追加。 特に sftp でコマンドライン補完、ワイルドカード、ls -l などが使えるようになったのはうれしい。
ところで、ssh-2.2.0 を linuxppc 上でビルドしたものは、そのままでは sshd 起動時に無限ループに入ってしまった。調べてみると、この問題は ssh-2.1.x にも存在していたのだが、偶然動いていたようだ。 実際、sshd_config を古いままにしておくと動いてしまう。ことの詳細は以下。

[1] Ssh-1.2.30-1a and Ssh-2.2.0-1a

Ssh-1.2.30 は、ssh-1.2.27 用の SRPM でソースターボールを置き換えたのみ。できた RPMS は
ssh-1.2.30-1a.ppc.rpm
ssh-default-1.2.30-1a.ppc.rpm
で、SRPM は
ssh-1.2.30-1a.nosrc.rpm
である。

Ssh-2.2.0 には、例によって ppc の va_list の特殊性に起因するこの私家版パッチと、上で述べた無限ループの問題を回避するこの私家版パッチをあてた。この2番目のパッチは、ssh_dvsprintf() に対するパッチであり、やはり va_list に関連した問題に対処するためのものである。 ssh_dvsprintf は、vsnprintf を呼んだ際にバッファーサイズが足らないと必要なだけ増やしてもう一度呼ぶのだが、 gnu の vsnprintf は引数である va_list の戻り値を 保証しないので、vsnprintf を呼ぶ前のものを覚えておかなくてはならない。 もとのソースコードにはこの部分が欠落している。 va_list、vsnprintf の実装によって、 その戻り値が呼ぶ前のものと常に同じになる場合には問題にならないが、 そうでない場合(例えば ppc)何が起こるか分からない (今まで動いていたのが不思議)。 使った SPEC はこれ、できたRPMS は

ssh-2.2.0-1a.ppc.rpm
ssh-default-2.2.0-1a.ppc.rpm
SRPM は
ssh-2.2.0-1a.nosrc.rpm
である。

上記の ssh はフリーではない。個人で非商用目的に使う場合には無償で使えるようだが、 使用にあたっては、パッケージに含まれるライセンス条項を確認のこと。 これらのパッケージは私の環境では動作確認したが、使う場合はいつものように自己責任


Back to Keisuke Fujii's MkLinux/LinuxPPC Life