[[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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS