From: Akinori MUSHA Date: 2005-02-11T18:31:52+09:00 Subject: [ruby-dev:25672] Re: ext/digestと暗号ライブラリ At Tue, 8 Feb 2005 16:03:26 +0900, Takahiro Kambe wrote: > としています。これは、Linux系のシステムでは、これらのハッシュ関数は > OpenSSLが提供していて、それを使用するという前提があると思えます。  単に、商用UNIXを含め、広く使える共通実装として OpenSSL があった というだけです。Linux 系がどうとかの意識はありません。  *BSD と Linux 以外には Solaris くらいしか身近になかったのですが、 OpenSSL はたいがいどこでも入っていることが多かったので、安直に利用 することにしました。 > 一方、今時のBSD系のシステムでは、上記のハッシュ関数については、 > > FreeBSD: libmd > NetBSD: libc > > といったシステムの標準のライブラリに含まれています。(OpenBSDは調べきれ > ませんでした。)  FreeBSD は1994年に libmd を提供し、 OpenBSD は1996年に独自に libc に md5crypt() などを取り込み、 NetBSD は1997年に FreeBSD の libmd を libc に統合しました。  それぞれ、何度か実装を切り替えたり、新しいハッシュアルゴリズムを 取り入れたりして今に至るようです。 > ヘッダファイルの方も、NetBSDの場合では /usr/include 以下に md5.h, > rmd160.h, sha1.h といったものがあります。  存じています。一時期はそれらを検出するようにしていました。 > できれば、単にOpenSSLのものをチェックするだけではなく、これらのライブ > ラリやヘッダファイルの存在を(先に)確認するようにしていただきたいのです > が、いかがでしょうか。  しかし、インターフェースがそれぞれ微妙に異なり、マクロや構造体の 違いを吸収するのが非常に面倒になったので止めた記憶があります。 == の実装等のために #ifdef の嵐というのも気が進みませんでした。  要するに楽だから今の様になっているというだけで、強い動機をもって 修正を用意していただけるのならば、取り込むにやぶさかではありません。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "It seems to me as we make our own few circles 'round the sun We get it backwards and our seven years go by like one"