#02-01 [BUY,COMICS]ガラスの仮面(46)
買ったけどまだ読んでない…
|
|
#02-02 うみちゃんが来札します
11/20-22に、うみちゃんが札幌に遊びにくることが急に決まったので告知してみたり。本人の希望は
くらいみたいなので、あとは適当に遊ぶとか飲むとかするらしいです。遊び仲間求む!!
#08-01 [perl,hack]Net::SSL::ExpireDate にタイムアウトできるオプションを追加
Net::SSL::ExpireDate 1.00 - (ひ)メモとまあ、便利なモジュールがあるもので、ありがたく利用させていただこうかと。
で、このモジュールを使ったスクリプトをふにふにと書いてみたら、あらまあ、タイムアウトができないわ。ってことで ad hoc patch 作成。
--- Net-SSL-ExpireDate-1.08/lib/Net/SSL/ExpireDate.pm.orig 2010-11-08 18:19:23.000000000 +0900
+++ Net-SSL-ExpireDate-1.08/lib/Net/SSL/ExpireDate.pm 2010-11-08 18:20:17.000000000 +0900
@@ -61,6 +61,7 @@
type => undef,
target => undef,
expire_date => undef,
+ timeout => undef,
}, $class;
if ( $opt{https} or $opt{ssl} ) {
@@ -75,6 +76,9 @@
} else {
croak "missing option: neither ssl nor file";
}
+ if ($opt{timeout}) {
+ $self->{timeout} = $opt{timeout};
+ }
return $self;
}
@@ -88,7 +92,7 @@
$port ||= 443;
### $host
### $port
- my $cert = _peer_certificate($host, $port);
+ my $cert = _peer_certificate($host, $port, $self->{timeout});
my $x509 = Crypt::OpenSSL::X509->new_from_string($cert, FORMAT_ASN1);
my $begin_date_str = $x509->notBefore;
my $expire_date_str = $x509->notAfter;
@@ -140,7 +144,7 @@
}
sub _peer_certificate {
- my($host, $port) = @_;
+ my($host, $port, $timeout) = @_;
my $cert;
@@ -167,6 +171,7 @@
PeerAddr => $host,
PeerPort => $port,
Proto => 'tcp',
+ Timeout => $timeout,
};
$sock = $Socket->new( %$sock ) or croak "cannot create socket: $!";
見ればわかるように無理やりですねこのパッチ(苦笑)
これでめでたくタイムアウトするようになった。
追記:
1986 accesses since 2010/11/02. (C)ROSSO INDEX K.K. / HUDSON SOFT All right reserved. 株式会社ロッソインデックス及び株式会社ハドソンの著作権を侵害する行為は禁止されています。