SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

2014-04-08(Tue) CVE-2014-0160 The Heartbleed Bug Killed

  我が艦これサーバがモロにヒットであった。まだ一般公開しているサーバではないが、SSLポートは開けていることだし、パッケージリリースを待たずに、自ら対処することにする。

/root # yumdownloader --source openssl
/root # rpm -ivh openssl-1.0.1e-37.fc20.src.rpm 
/root # cd rpmbuild/SPECS/
/root/rpmbuild/SPECS # vi openssl.spec
/root/rpmbuild/SPECS # diff openssl.spec.org openssl.spec
24c24
< Release: 37%{?dist}
---
> Release: 38%{?dist}
268c268,269
< 	--with-krb5-dir=/usr shared  ${sslarch} %{?!nofips:fips}
---
> 	--with-krb5-dir=/usr shared  ${sslarch} %{?!nofips:fips} \
> 	-DOPENSSL_NO_HEARTBEATS
/root/rpmbuild/SPECS # yum install rpm-build
/root/rpmbuild/SPECS # yum install krb5-devel zlib-devel
/root/rpmbuild/SPECS # yum install gcc
/root/rpmbuild/SPECS # rpmbuild -ba openssl.spec 
/root/rpmbuild/SPECS # cd ../RPMS/x86_64/
/root/rpmbuild/RPMS/x86_64 # rpm -Fvh *

  上記は、Fedora20での実施例だが、Fedora18でもいけるはず。ちなみに、もひとつ運用しているサーバはFedora16なので、対象外だった。しっかし、GIGAZINEのこの記事、間違っちゃあいないが、ワザワザ誤解を招くようなタイトル付けてんじゃねーよ。

  アップデートしてから、apacheを再起動する前に、http://filippo.io/Heartbleed/でチェックしてみた(神経質な人はこのサイトすら疑うべきだが)。

  画像の説明

  案の定、アウト。しかし、最初に試したときは「not affected」の判定だった。サイトトップにも書いてあるが、どうも負荷によってはタイムアウトが起きて、セーフの判定になるらしい。アカンやん。ま、あまり当てにしないほうがいいようだ。

  しかし「Heartbleed」というネーミングといい、破けた心臓のアイコンといい、ウィットを感じるなぁ……と、なにげに「DragonBreed」で遊びたくなってしまったではないか……カモン、バハムート!


2014-04-16(Wed) ruby-kakasiを再召喚

  最近、またちょこちょこと自作のメーラ「mave」のコードリファインに取り組んでいる。気がつけばもう7年も前からやってんのか。思えば遠くへ来たもんだ。

  主に、Ruby2.0対応とFedora20対応なのだが、さほど大きな書き直しが必要なわけでもなく、日々、実用に供しながら、楽しく機能追加、バグ取りを続けている。オイラの仕事の時間の半分以上がメールの読み書きであるから、少しでも効率よく、気分よくメール操作できることは、人生の最重要テーマのひとつといっても過言ではないのだ。もはやライフワークと断言できる。

  ところが、改めてrubyからkakasiを呼び出すライブラリを導入しようと思ったら、いつの間にか、ウェブ上のどこにも見当たらない……こっ、困る。メールの件名をローマ字でインクリメンタルサーチする(いわゆるmigemoっぽい)機能が使えない。致命的。死ぬ。いますぐ。

  慌てて自宅サーバの中を探しまくったらどうにか出てきた……が、Ruby2.0で動くのか? ……そのままではコンパイルが通らん。長らくRubyを使ってきたが、バイナリライブラリの自作には手を出したことがないんだよな。

  んが、なんとなく空気を読んだらアッサリをビルドに成功した。以下、Fedora20で導入に成功した例。

/root # tar xvfz kakasi-020928.tar.gz 
/root # cd kakasi-020928/
/root/kakasi-020928 # ruby extconf.rb 
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h
/root/kakasi-020928 # yum install ruby-devel
/root/kakasi-020928 # ruby extconf.rb 
/root/kakasi-020928 # yum install kakasi kakasi-libs kakasi-dict kakasi-devel
/root/kakasi-020928 # make
kakasi.c:31:21: エラー: ‘struct RString’ は ‘len’ という名前のメンバを持っていません
kakasi.c:37:46: エラー: ‘struct RString’ は ‘ptr’ という名前のメンバを持っていません
……上記のエラーが大量に出てアセる……
/root/kakasi-020928 # mv kakasi.c kakasi.c.org
/root/kakasi-020928 # cat kakasi.c.org | sed "s/RSTRING\(([^)]*)\)->len/RSTRING_LEN\\1/" | sed "s/RSTRING\(([^)]*)\)->ptr/RSTRING_PTR\\1/" > kakasi.c
……が、単にRuby2.0で書き方が変わっただけみたい。/usr/include/ruby/ruby.hのマクロ定義を見て、表現を単純に置換する
/root/kakasi-020928 # make
……通った
/root/kakasi-020928 # ruby test.rb 
2002-09-28
KAKASHI nanodesu
……動いた
/root/kakasi-020928 # mkdir -p /usr/local/lib64/ruby/site_ruby
/root/kakasi-020928 # mv kakasi.so /usr/local/lib64/ruby/site_ruby
……インストールして完了

  元のruby-kakasiパッケージを転載しておく。

  さて、続き続き。


2014-04-17(Thu) 桜とソースと私と

  葬式で、会社を早退した。

  帰り道には、桜並木がある。オイラは、やや少女趣味なので、ピンク色が好きなこともあり、サクラが大好き。特に、花吹雪の中を歩くのが好きだ。しかし、この季節、花粉症が出ることもあり、ワザワザ花吹雪を狙って出かけることはない。

  が、まさに今日、最後の散りぎわながら、真昼にほどよい花吹雪の中を通り抜けることができた。なんだろねぇ、いいよねぇ……歳をとったのかねぇ……と、ふと、庭にマイ桜の木があったらなぁ、と思い描いた。というか、日本人なら、こういう時は盆栽なのか? というか、さすがに桜の盆栽なんてないのか? と思ったら、あるのね。

  画像の説明

  でも、お世話はそれなりに大変そう。もう少し、歳をとってからでもいいかな。プログラム書いたりとか、忙しいし……

  ……って、あれ? 盆栽とプログラミングって、もしかして同じかも? 毎日のように、手元のカワイイ子の枝ぶりを眺めては、ときどき少し修正したりして、気長にその成長を楽しむ。もし、飽きてしまったら、そこで終わり。

  Linuxカーネルの巨木(ソースツリー)にくらべれば、我がmaveなどは、まさに盆栽レベルだが。これでいいのだ。だって、盆栽なんだもん。

  こんど、開発プロジェクトを始めることがあれば、桜にちなんだ名前をつけることにしよう。それがいいのだ。

本日のツッコミ(全1件) [ツッコミを入れる]

横須賀のアランプロスト [土曜日に海自でカレーグランプリというのがあって 2万人くらいキタらいしいッス]


2014-04-26(Sat) 「ダラダラと仕事する」という提督の決断

  ゴールデンウィークを目前にしたこの時期、非常に憂鬱な仕事がある。ヤダヤダと思うと、どうしても後回しになってしまい、終いには後ろが詰まって、土曜日である今日、やることになってしまった。といっても、xrdpのおかげで、自宅で、なのだが。

  オイラは、普段の仕事内容は、さほど苦にも思わず、割とサクサクこなせているのだが、この仕事はウンウンうなって考えても遅々として前に進まない。うーむ、どうしたらいいんだ。なんかコツでもあるんかいな。向いていないといえばそれまでなのだろうけど。

  考えてもすぐに行き詰まるので、ついつい余計なニュースサイトとかを見てしまう……が、そんなことをしていると、ふと思いついて、少し前に進む……の繰り返し。ん? となると、この仕事は、あらかじめ時間に余裕をみて、ダラダラとやるのがよいのではないか。

  「何もやらないよりはダラダラやった方がまし」という名言がある。だとすれば「ウンウンうなってもダラダラやってもあまり効率が変わらない仕事もある」という事実もあるのかもしれない。それなら、むしろ前向きにダラダラするべきなのではないか。マラソン選手に「ダラダラ走ってんじゃねぇ!」と怒る人はいない。結局は、そのほうが精神的な疲労を少なく仕事を終わらせられるかもしれないし。

  画像の説明

  あ、突然ですが、艦隊がE3を突破したみたいです。

  画像の説明

  あ、気がつけば、艦隊がE4を突破したみたいです。

  ドサクサで舞風と、もはや待ちくたびれていた瑞鶴が出て、ようやく編成任務をオールクリア! ……とかなんとかやってると、わずかづつながらでも仕事が前に進んでいるという寸法だ。

  さて、仕事もあと少しを残すのみなのだけれど、最後のトコロがこれまた悩ましいんだよなぁ……うーむ……「近海の索敵や、輸送船団の護衛も、大事よねぇ……って、提督ぅ、仕事、しようよぉ」……って、なっ!?

  それは瑞鳳の放置ボイスなのであった。すいません……おっしゃる通りなんですけどね。あー、気がつけばこんな時間。結局、トータルでは精神的な疲労の量は同じかもしれない。

  と、気づけば、このブログも開始から10年。我ながら、何の節目にもならない記事を、数日ほど過ぎてから書くというシマりのないことになってしまったが、それも自分らしいかもしれない。次の10年、自分は何をやって過ごすのだろうなぁ。

本日のツッコミ(全1件) [ツッコミを入れる]

とおりすがり [10周年おめでとうございます。]