« Firebird BASIC 認証サポート用 UDF (MD5/SHA1暗号化) | Main | mod_auth_fb のテスト中に Windows版のApache 1.3 はマルチスレッド実装なことに気が付いた »

mod_auth_fb改造中にWin版とUNIX系でのApacheのパスワード照合が違うことに気が付いたり

たらたらとですが、mod_auth_fb.so(Apache+Firebird RDBMS 用 BASIC認証DSO)を Linux に移植中です。
それで気が付いたんですが、Apache のパスワード照合関数は、実は Windows 向けのものと UNIX 系向けのものでは動作が違うんようですね。動きがおかしいのでApacheのソースを除いたらわかりました。

以前から mod_auth_dbm では MD5/SHA1が動いてるので関数の中がバージョンによって動きが変わってるのかな?と思っていたんですが、実は動作環境によって違いがあることがわかりました。
FreeBSD Style MD5ヘッダや Netscape / SHA1 ヘッダが格納データ(ハッシュなど)にない場合、Windowsでは平文を、その他の環境では crypt() を施したものが格納されているものとして処理していたんですね。
どうりで、Windows版ではパスワードは平文で動作するはずだと思いました。

というわけで、実は現状の Windows 版でも MD5/SHA1 は使えるようです。
ただ、Apacheの内部関数と一致する内容・ヘッダでないと動作しませんけどね。

あと、Linux の場合はどうしようか思案中です。
拙作のMD5/SHA1計算UDFのMD5/SHA1で格納できる方がFirebirdがある環境においては扱いやすいような気もしますしね.....。一般的なスタイルは今のままでも使えるわけだし。
ディレクティブを追加して平文比較オプションでも追加しようかな?

|

« Firebird BASIC 認証サポート用 UDF (MD5/SHA1暗号化) | Main | mod_auth_fb のテスト中に Windows版のApache 1.3 はマルチスレッド実装なことに気が付いた »

プログラム」カテゴリの記事

Comments

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference mod_auth_fb改造中にWin版とUNIX系でのApacheのパスワード照合が違うことに気が付いたり:

« Firebird BASIC 認証サポート用 UDF (MD5/SHA1暗号化) | Main | mod_auth_fb のテスト中に Windows版のApache 1.3 はマルチスレッド実装なことに気が付いた »