diary/Kojima/2007-10-30
の編集
http://plamo.linet.gr.jp/?diary/Kojima/2007-10-30
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[diary/Kojima]] ・OpenSSL openssl-0.9.8g というのが公開されていて,crypto/opensslv.h を見るとバー ジョン番号が #define OPENSSL_VERSION_NUMBER 0x0090807fL となっている.一方,一つ前のバージョンである 0.9.8f だと,この部分は #define OPENSSL_VERSION_NUMBER 0x00908070L となっていて,最後が 0 から f に上がっている. この最後の一桁は,OpenSSL 的には status フラグとして使っているようで, /* Numeric release version identifier: * MNNFFPPS: major minor fix patch status * The status nibble has one of the values 0 for development, 1 to e for betas * 1 to 14, and f for release. The patch level is exactly that. ということだから,0x0090807F は,major=0, minor=09, fix=08, patch=07, status nibble=f(release)ということになるみたい.ということは,0.9.8f が 0x00908070 という番号で公開されていたのは,本来はまだ開発版だった,とい うことになるのかな? 一方,openssl の暗号化機能を使っている OpenSSH の方だと,entropy.c で void init_rng(void) { /* * OpenSSL version numbers: MNNFFPPS: major minor fix patch status * We match major, minor, fix and status (not patch) */ if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) fatal("OpenSSL version mismatch. Built against %lx, you " "have %lx", OPENSSL_VERSION_NUMBER, SSLeay()); ということで,major, minor, fix と status を見ているので,openssl の 0.9.8f から 0.9.8g の更新も(status が 0 から f に変更されているので)異 なるバージョンと判断してエラーになる模様. kojima@xeon[~/OpenSSH/openssh-4.7p1]% ssh OpenSSL version mismatch. Built against 908070, you have 90807f ふーむ,,と思って,手元の openssl の各バージョン番号を調べたらこんな感 じだった kojima@xeon[~/OpenSSL]% grep OPENSSL_VERSION_NUMBER openssl-0.9.8*/crypto/opensslv.h openssl-0.9.8d/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090804f openssl-0.9.8e/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090805fL openssl-0.9.8f/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x00908070L openssl-0.9.8g/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090807fL ということで,OpenSSH 側の説明(patch レベルは見ない)を信じるなら, OpenSSL-0.9.8f だけが開発版ということでチェックからハネられて, 0.9.8[de]あたりは 0.9.8g と(バージョン番号的には)互換性がある,というこ とになりそう. まぁ,OpenSSL 自体に bug fix は入っているので,あれこれ悩むよりは最新版 に合わせて再ビルドするのが簡単そうではあるが,このあたりは OpenSSL の側 のバージョン管理のミスなんだろうな. #comment ・甲骨文字クイズその3 #ref(q3.jpg) 答 11:受 12:赤 13:教 14:麓 15:虹 このへんになるとかなり難しいですが,11 は3本指の手が上下にあって舟を受 け渡している様子を示しているそうで,現在の「受」になるそうです.12 は上 は人の正面像で「大」,下は燃えている「火」を示す字で,両者を合わせて 「赤」.13 は左側下の「♀」みたいなのが「子」その上の「×」2つは,旧字 の「學」にも残っている建物の千木で右側は鞭(教鞭)をもった手を示し,現在 の「教」の字になるそうです.14 は2本の木の間に鹿がいますが,現在では木 は上にあがって「麓」.15は双頭の蛇を示し,当時の人々は「虹」を双頭の蛇 で凶兆と見ていたそうです. #comment ・今日の自転車 今日は途中で寄り道をするつもりだったのでスタンドをつけているフラットバー ロードに久しぶりに乗ってみた.ポジションは同じくらいにしているので違和 感なく乗れるものの,同じくらいの速度で走るとロードバイクよりも心拍数が かなり高めになる感じ.まぁ上半身が立っているので風の抵抗とかも大きいか ら当然といえば当然だけど,長時間乗ると体力の消耗はかなり違いそう. 走行時間:1:12:23 距離: 25.94km 平均速度: 21.5km/h 消費カロリー: 937kcal(約40分の非走行時間込み) #comment
タイムスタンプを変更しない
[[diary/Kojima]] ・OpenSSL openssl-0.9.8g というのが公開されていて,crypto/opensslv.h を見るとバー ジョン番号が #define OPENSSL_VERSION_NUMBER 0x0090807fL となっている.一方,一つ前のバージョンである 0.9.8f だと,この部分は #define OPENSSL_VERSION_NUMBER 0x00908070L となっていて,最後が 0 から f に上がっている. この最後の一桁は,OpenSSL 的には status フラグとして使っているようで, /* Numeric release version identifier: * MNNFFPPS: major minor fix patch status * The status nibble has one of the values 0 for development, 1 to e for betas * 1 to 14, and f for release. The patch level is exactly that. ということだから,0x0090807F は,major=0, minor=09, fix=08, patch=07, status nibble=f(release)ということになるみたい.ということは,0.9.8f が 0x00908070 という番号で公開されていたのは,本来はまだ開発版だった,とい うことになるのかな? 一方,openssl の暗号化機能を使っている OpenSSH の方だと,entropy.c で void init_rng(void) { /* * OpenSSL version numbers: MNNFFPPS: major minor fix patch status * We match major, minor, fix and status (not patch) */ if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) fatal("OpenSSL version mismatch. Built against %lx, you " "have %lx", OPENSSL_VERSION_NUMBER, SSLeay()); ということで,major, minor, fix と status を見ているので,openssl の 0.9.8f から 0.9.8g の更新も(status が 0 から f に変更されているので)異 なるバージョンと判断してエラーになる模様. kojima@xeon[~/OpenSSH/openssh-4.7p1]% ssh OpenSSL version mismatch. Built against 908070, you have 90807f ふーむ,,と思って,手元の openssl の各バージョン番号を調べたらこんな感 じだった kojima@xeon[~/OpenSSL]% grep OPENSSL_VERSION_NUMBER openssl-0.9.8*/crypto/opensslv.h openssl-0.9.8d/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090804f openssl-0.9.8e/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090805fL openssl-0.9.8f/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x00908070L openssl-0.9.8g/crypto/opensslv.h:#define OPENSSL_VERSION_NUMBER 0x0090807fL ということで,OpenSSH 側の説明(patch レベルは見ない)を信じるなら, OpenSSL-0.9.8f だけが開発版ということでチェックからハネられて, 0.9.8[de]あたりは 0.9.8g と(バージョン番号的には)互換性がある,というこ とになりそう. まぁ,OpenSSL 自体に bug fix は入っているので,あれこれ悩むよりは最新版 に合わせて再ビルドするのが簡単そうではあるが,このあたりは OpenSSL の側 のバージョン管理のミスなんだろうな. #comment ・甲骨文字クイズその3 #ref(q3.jpg) 答 11:受 12:赤 13:教 14:麓 15:虹 このへんになるとかなり難しいですが,11 は3本指の手が上下にあって舟を受 け渡している様子を示しているそうで,現在の「受」になるそうです.12 は上 は人の正面像で「大」,下は燃えている「火」を示す字で,両者を合わせて 「赤」.13 は左側下の「♀」みたいなのが「子」その上の「×」2つは,旧字 の「學」にも残っている建物の千木で右側は鞭(教鞭)をもった手を示し,現在 の「教」の字になるそうです.14 は2本の木の間に鹿がいますが,現在では木 は上にあがって「麓」.15は双頭の蛇を示し,当時の人々は「虹」を双頭の蛇 で凶兆と見ていたそうです. #comment ・今日の自転車 今日は途中で寄り道をするつもりだったのでスタンドをつけているフラットバー ロードに久しぶりに乗ってみた.ポジションは同じくらいにしているので違和 感なく乗れるものの,同じくらいの速度で走るとロードバイクよりも心拍数が かなり高めになる感じ.まぁ上半身が立っているので風の抵抗とかも大きいか ら当然といえば当然だけど,長時間乗ると体力の消耗はかなり違いそう. 走行時間:1:12:23 距離: 25.94km 平均速度: 21.5km/h 消費カロリー: 937kcal(約40分の非走行時間込み) #comment
テキスト整形のルールを表示する
添付ファイル:
q3.jpg
142件
[
詳細
]