2011年4月26日火曜日

証明書から公開鍵を取り出す

証明書から公開鍵を取り出す

openssl x509 -in saml.crt -pubkey -noout

man x509 には -pubkey っつーオプションが見当たらないんだけど…

2011年3月29日火曜日

pecl でERROR: `phpize' failed

pecl install とかすると、以下のエラー。

 ERROR: `phpize' failed

Web には結構情報もあり、php コンパイル時に sigchild を有効にしてると
発生する模様。丁度先日、仕事で php 使ってとある fork しまくりのコマン
ド作ったときに sigchild する必要があったのでこれは外せない。


古い情報だけど以下発見。

 Workaround for PEAR/PECL Failure with Message “ERROR: `phpize’ failed”
 http://kai.mactane.org/blog/2009/05/11/workaround-for-pearpecl-failure-with-message-error-phpize-failed/

ここにあるパッチを PEAR/Builder.php に当てて回避。まぁこれでいいや。

Xoom でUSB DVD player

Motorola XOOM で USB ポートに直接 DVD drive を挿して DVD Video の再生
ができないか調べたが、おそらく無理のよう。

以下によれば、Motorola はユーザに movie を購入させたい意向があるとのことで、
自前の DVD を再生するには、あらかじめ XOOM のフォーマットに convert して、
ファイルとして本体内に取り込む必要があるっぽい。

 How to Put/Get DVD movies to Motorola Xoom tablet for watching
 http://dvdrippingsoftwares.com/convertdvd/dvd-to-xoom.html

2011年2月16日水曜日

gentoo で Bluetooth

我が Thinkpad X61 + gentoo で Bluetooth キーボードを使おうと思い現在格闘中。

まず、以下を参考にしてみたが、どうも古いらしく bluez-libs やら bluez-utils
などというパッケージは存在しない。

http://www.gentoo.org/doc/ja/bluetooth-guide.xml

以下でツール関連をインストール。

 emerge bluez

bluez-4.82 が入った。

そして上記 URL に書いてある hcid なるデーモンを探したがそんなものはない。
どうやら bluez-4.x はだいぶ違うようだ。

インストール後、hciconfig してみるも no output。何も表示されない。
/proc/acpi/ibm/bluetooth はちゃんと存在してて中身は以下でちゃんと enabled。

 status:         enabled
 commands:       enable, disable

おかしいな。で、いろいろ調べたところ、結局 hci なドライバが入ってなかった。
事前に.config は確認してたんだけど、BT_HCIBTUSB が not set だったのを見逃
していた。これは以下 URL を見て気づいた。

http://en.gentoo-wiki.com/wiki/Lenovo_Thinkpad_T61p

仕方なく genkernel --lvm --menuconfig all してしばらく待った。

再起動後、hciconfig -a すると見えた。

 hci0:   Type: BR/EDR  Bus: USB
         BD Address: 00:1F:3A:DE:5F:DE  ACL MTU: 1017:8  SCO MTU: 64:8
         UP RUNNING PSCAN
         RX bytes:11816 acl:0 sco:0 events:384 errors:0
         TX bytes:642 acl:0 sco:0 commands:45 errors:0
         Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
         Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
         Link policy: RSWITCH HOLD SNIFF PARK
         Link mode: SLAVE ACCEPT
         Name: 'localhost-0'
         Class: 0x480100
         Service Classes: Capturing, Telephony
         Device Class: Computer, Uncategorized
         HCI Version: 2.0 (0x3)  Revision: 0x212b
         LMP Version: 2.0 (0x3)  Subversion: 0x41d3
         Manufacturer: Broadcom Corporation (15)

あと、いろいろ調べてる際に Fn+F5 で Bluetooth を on/off 出来るような設定&スクリ
プトを見つけたので入れてある。

 ~$ cat /usr/local/sbin/bluetooth-toggle
 #!/bin/bash
 cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;
 do
 if [ $line == "enabled" ]; then
 echo disable > /proc/acpi/ibm/bluetooth
 else
 echo enable > /proc/acpi/ibm/bluetooth
 fi
 break
 done

 ~# cat /etc/acpi/events/default
    : (snip)
 #event=.*
 #action=/etc/acpi/default.sh %e

 event=ibm/hotkey HKEY 00000080 00001005
 action=/usr/local/sbin/bluetooth-toggle

んであとは acpid と hald が自動起動されることを確認。さらに bluetooth も
自動起動の仲間入り。

  rc-update -a bluetooth boot

2011年1月28日金曜日

read -r で IFS で定義しているデリミタを

メモ。

read で読み込むデータ内に IFS で定義しているデリミタ文字があった
場合は、その文字をバックスラッシュでエスケープして read のオプショ
ンに -r をつけると良い。

2011年1月27日木曜日

mew で Multipart/Alternative を見る

単なるメモ

'-' マーク Multipart/Alternative で Text/Plain が同梱されてない
もしくは空のメールは、":" で中身展開、"," でテキスト表示。

いやしかし、昨今のEメールの形式は以前の常識(マナー)を無視していて、
Gmail やら Outlook やらもう好き勝手にやってる感じ。

describe-variable

2011年1月20日木曜日

pack() unpack()

どうも perl の pack(), unpack() がいつまでたっても身につかない。
初歩的すぎる話題だけどいつもなんだかんだで調べちゃう。だから恥ず
かしいけどここにメモっておく。

例えば Hex の "5a" なんてのは "Z" だけどこの変換を行うには以下。

 $bstr = pack("H*", "5a");

第二引数が Hex だよんてことを第一引数で定義してる。第一引数の
種類はリファレンスで調べて。この部分の *は後に続く文字列の数
でもよい(*は最後までという意味) 。例えば上記の場合 "H1" なん
てしちゃうと、はじめの "5" だけをバイナリ変換しちゃうので 0x50
のバイナリ表現が $bstr にはいっちゃう("P"という文字だけど)。

で、unpack はその逆で、バイナリ文字列を Hex 表現等にしたりする。

だから上記の結果の $bstr を unpack("H*", $bstr) なんてすると、
"Z" の Hex 表現の "5a" が得られる。

ちなみになんで pack とか unpack の話題だったのかというと、slappasswd
で得られるパスワードを base16 にしたかったのです。

この場合は、slappasswd で得られる文字列は base64 なのでこれを
デコードしてバイナリ化、んでそれを unpack("H*", )すれば base16
な表現が得られるというわけ。