犬ターネット

Archive : 2019年01月

Perl の IO::Socket::INET 経由の HTTPアクセスで 400 Bad Request が出る

社内検証サーバがぶっ壊れたので新しくサーバ構築しつつ動作確認中。そんな中、IO::Socket::INET を使って HTTP アクセスを行う perl スクリプトを動かしたところ、リクエスト先から「400 Bad Request」が返ってきてしまい接続不可。perlスクリプトはこんな具合。

#!/usr/bin/perl

use strict;
use warnings;
use IO::Socket;

my $sock = IO::Socket::INET->new(
  PeerAddr => '192.168.0.20',
  PeerPort => '80',
  Proto => 'tcp'
);

my $out = "";
my $lf = "\n";
my $request_header =
    "GET /test.php HTTP/1.0$lf"
  . "UserAgent: testagent$lf$lf";

print $sock $request_header;
$sock->flush();
my $ret_code = <$sock>;

while (<$sock>){ m/^\r\n$/ && last; }
while (<$sock>){ $out .= $_; }
$sock->close() if($sock);

print $ret_code . "\n";
print $out . "\n";

今まで普通に動いていたのになんでだ…。全然原因がわからないので、リクエスト先(192.168.0.20)の Apache の httpd.conf を以下のように修正して apache 再起動しデバッグモードに変更。

LoadModule dumpio_module modules/mod_dumpio.so
LogLevel debug
DumpIOInput On

これで perl スクリプトを実行したところ、/var/log/error_log に以下が出力された。

[Thu Jan 31 15:28:26 2019] [debug] mod_dumpio.c(113): mod_dumpio: dumpio_in [getline-blocking] 0 readbytes
[Thu Jan 31 15:28:26 2019] [debug] mod_dumpio.c(55): mod_dumpio:  dumpio_in (data-HEAP): 23 bytes
[Thu Jan 31 15:28:26 2019] [debug] mod_dumpio.c(74): mod_dumpio:  dumpio_in (data-HEAP): GET /test.php HTTP/1.0\n
[Thu Jan 31 15:28:26 2019] [debug] protocol.c(1260): [client 192.168.0.19] request failed: malformed request line

malformed request line でピンときた。多分改行コードのエラーだ。HTTPリクエストの改行コードは \n ではなく \r\n にしないといけない。先ほどの perl スクリプトの改行コードを修正。

# my $lf = "\n";
my $lf = "\r\n";

これで再度perlスクリプトを実行したところ正常に実行された。でもなんで今まで動いていた…? Apache に自動で改行コードを置換する設定ってあったっけか…。で調べていたら以下の記事がヒット。困ったときのスタックオーバーフローだわマジで。

mod rewrite - Have Apache Accept LF vs CRLF in Request Headers - Stack Overflow

最近の apache のバージョンではよりセキュアになり制限が増えたらしい。制限を緩めるためには過去のバージョンにダウングレードするか、以下設定を httpd.conf に記述して apache を再起動すればよい。

HttpProtocolOptions unsafe

手元の環境では perlスクリプトに手を入れることなく apache の設定変更のみで無事に動いた。ただし unsafe な設定なので、本来であれば perl プログラムの方を直すべき。


餅、ボヘミアンラプソディ、カニ

もう水曜日だけど先週末の日記。

土曜

火曜から始まったインフル外出自粛期間も今日で終わり。タミフルを飲みきればこっちのもの。ところでタミフルはお腹の調子が悪く(良く?)なるのか、この数日は便秘体質が改善された。うんちたくさんさいこう。

家から出られなかったので、自宅の残飯処理活動をしていた。残飯と言えば冷凍庫の餅。

餅は冷凍のまま超弱火のフライパンに乗せると焦げ目と膨らみのバランスが良い。

オーブンの場合、高めの温度でやらないと膨らむばかりで焦げ目がつかない。難しい。

いろいろ乗せたけれど結局、砂糖醤油が一番美味しい。

日曜

ボヘミアンラプソディを観にいった。面白かったんだけど、ネットやテレビで散々ベタ褒めされていたせいで期待度が高すぎたかもしれない。ブライアンメイの役者、超そっくりだったな。後半に LIVE AID の演奏シーンがあってそれがとてもよかったから当時の LIVE AID の演奏を YouTube で観たらほぼ完コピだった。名演。クイーンすごい。

帰宅後、最後のカニを解体。夕飯はカニチャーハンを食べた(チャーハンをつくって上にカニを乗っけてポン酢を少々)。美味しかった。


OracleでCSVインポート

コントロールファイルを作り、sqlldr コマンドでインポート可能。

コントロールファイル (control.txt)は以下のような形式。

LOAD DATA
INFILE test_table.csv
APPEND
INTO TABLE test_table
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(COLUMN1, COLUMN2, COLUMN3)

CSV (test_table.csv)は以下のような形式。

1,テスト1,あいうえお
2,テスト2,かきくけこ
3,テスト3,さしすせそ

実行するコマンドは以下のような形式。SIDは環境によって書き換える。

sqlldr 接続ユーザ名/接続パスワード@SID control=control.txt

# 実際は以下のような感じ
sqlldr databaseuser/databaseuserpass@192.168.0.50:1521/DB control=control.txt

libclntsh.so.12.1: cannot open shared object file

PHP + Oracle 環境を作った際、cliから php -m を実行するとモジュール一覧に oci8 と PDO_OCI は表示されるのに、apache を起動すると以下エラーが出て oci8 も PDI_OCI も認識されない。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_oci.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0

いろいろやった結果、selinux が悪さをしていた様子。以下を実行して Permissive モードにしたらエラーが消えて認識されるようになった。

setenforce 0

しかし次は ORA-01804 のエラーが出て接続ができない。こっちは Apache の環境変数に ORACLE_HOME 等を設定し apache 再起動することで回避できた。

vim /etc/sysconfig/httpd

export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=Japanese_Japan.JA16EUC

インフルエンザA型

インフルエンザA型になった。

  • 日曜:37.4度の微熱。念のため病院に行って検査するもインフル陰性。
  • 月曜:38度台の熱。病院で処方された薬を飲むと一時的に熱は下がるもまた上がる。夜中に38.8度。
  • 火曜:朝に熱を測ると38度。さすがにおかしいと思い別の病院で検査した結果、インフルA型陽性。

検査のタイミングが早すぎると菌が検出されないこともあるようで、多分そのパターンだったんだろう。どこでインフルもらったんだろうか。土曜のヒソミネかもしれない…。

病院で処方されたのはタミフルだった。新薬を飲んでみたかったなあ。とりあえず熱は下がって薬を飲みきるまで暇を潰すターンに入った。土曜まで何して過ごそう。


Lost Inside The Machinery、鎖骨、インフルエンザ

週末の日記。

土曜

ここ数年ずっと追っかけている Self-Evident というバンドの音源が5年ぶりに出たので bandcamp で購入。歌メロが中心の渋めのマスロック。高速テクニカルなキメで走り抜けるわけではなく丁寧に音を重ねていくスタイル。とはいえ変な拍子やキメはバカスカ出てくるしキャリア20年の演奏巧者っぷりは流石。

今作はキーボードが入っていて、リリースパーティのライブ配信 をみてみたら5人編成だった(普段はトリオ編成)。来日したらいいなあ。

------

夜はトリオのインストバンド 鎖骨 を観にヒソミネへ。四人囃子、バトルス、レイハラカミのような印象を受けたので演奏終了後にキーボード氏に伝えたら1番影響を受けたのは星のカービィ、前述の3アーティストは知らないとのこと。ほえー、ジェネレーションギャップ。お酒をガブガブ飲んでいたら今月の生活費を使い切った。今月は諦めて来月の俺に期待する。

日曜

寒気と喉の痛みを感じたので熱を測ると37.4度。この程度であれば1日寝てれば治る感じだけどインフルエンザも流行っているし念のため病院へ。

病院は混み合っていて俺が到着時は既に60人待ち。患者も看護師さんもお医者さんもみんなイライラ。俺の前に診察を受けたおばちゃんはインフルという診断に納得がいかず、お医者さんに「仕事行けないと困るんですけど!」とキレていたんだけどお医者さんも「あんたねえ、私にそんなこと言ったってどうにもなんないんだけど。市の条例で決まってるから。そもそもそんなん言ってきたのあんただけだよ!」とキレ返していた。待合室に広がる苦笑と不穏な空気。喧嘩はやめて。

診察まで1時間、結果を聞かされるまで2時間。待ちつかれたけれどインフルエンザは検出されなかった。ひとまず安心。薬を何種類かもらって帰宅。

その後は生活品の買い物に出かけ帰宅して薬飲んでバタンキュー。体調が戻るまではランニングなどせずに大人しくすごそう…。


丁寧な暮らし

ここ10年、生活費等の固定費をさっぴくと自分が自由に使えるお金は微々たるものだということに気付かずに生活をしていたため、いつのまにかお金が消えてなくなっていた。そして昨年夏頃、ついに残高が5桁になった。41歳妻子持ちなのに。

さすがにヤバイと思い、急きょ家計簿をつけ始めたら目に見えてお金が減らなくなった。かといってたまっているわけでもないけれど。

買い物に出かけても余計なものは買わなくなった。例えばお洒落目的の靴や洋服。穴が空いたりみすぼらしくなったら買いなおすけれど、それ以外の理由では買わなくなった。もともとお洒落にあまり興味がないってのもあるけれど。他にはコンビニで買い物することもなくなったし平日の外食や晩酌も極端に減った。

そのかわりにバンド関連、友達との飲み会、家族で旅行、のような自分が楽しくなることには制限をかけずにお金を使うようにしている。

また、「他人と比べるのをやめるとすごく楽」っていうことを念頭に置いて生活するようにもなった。誰かが旅行に行こうが車を買おうが美味いもの食べようが、人は人、自分は自分。他人と比べるからつらくなる。周りのことなんて気にしない。

みたいな感じで数ヵ月過ごしていたら、質素で丁寧な暮らしを送れるようになってきた。以前のような気の向くままにお金を使うのもいいけれど、節制しながら好きなことに注力するのもメリハリがあってよい。丁寧な生活のせいでダイエットできたし睡眠時間も確保できてるし朝食も作るようになった。できる限りこの生活を続けていきたい。

ところでメリハリってメリカリ(低い音を「減り(めり)」高い音を「上り・甲(かり)」と呼んでいた邦楽用語)から転じた言葉だそう。


朝食メモ

料理なんてやらずに20年過ごしてきたこの俺が昨年末から朝食を作るようになったんだけど、今のところ主食のおにぎりと以下レシピを日替わりで作っているだけ。

  • ほうれん草とベーコンのバター炒め
  • ほうれん草入り卵焼き
  • 水焼きソーセージ

俺自身は特にこだわりがないから口に入ればなんでもいいんだけど、偏食な妻と生玉子が苦手な娘にも作る都合上、あと3品くらいレパートリーがあると嬉しい。

で、少し調べたら簡単そうなのがあったのでメモしておく。材料が最大4つ・10分くらいで作れて片づけが楽なやつ。

きんぴられんこんは15分くらいかかるけれど、1回作っちゃえば保存がきくからコスパがよさそう。

10品くらい作れるようになるといいな。


mugbum at hisomine, Omiya (2019.01.12)

mugbum 今年最初のライブはヒソミネ。リハ後にヒソミネカレーを食べつつ、店長と新しいフードメニューについてあれこれ悩んだりした。チーズ系の一口サイズのつまみ系がいいなあという流れになった。

とかなんとかでライブ開始。ヒソミネのブッキングはいつもいろんなバンドが出演するから楽しいんだけど、今回のブッキングも楽しかった。以下、各バンドの1行感想。

----------

シャロ

3ピースの疾走感のあるロックバンド。速いテンポなのにアンサンブルが練りこまれていて素敵。演奏もうまい。ギターボーカル氏のMCが何も聞き取れなかった(のをベースさんがネタにしていた)。

THE HANGED MAN

全員高校生(!)のロックバンド。こちらも疾走感あふれる曲でまぶしかった。機材も曲もアレンジも演奏もプロスペック。俺が高校生の頃ってこんなんじゃなかったよな…。マジでどうなってんだ最近の若い人たちは…。

w-m

普段は一人活動らしいのだけど今回はバンドセットでの演奏とのこと。前2バンドとは異なりダウナー方面の絞り出すようなロック。好きな方向性。最後の曲がドロップDの鬼ユニゾンでああいうのをうちのバンドでもやってみたい。

I'd tap that

4ピースのマスエモ系ロックバンド。ギターの絡みやエフェクターの少なさからCHONとか好きなのかなと思ったり。最後の曲は Cap'n Jazz よろしく、全員で合唱するかき鳴らし系!熱かった。

mugbum

今日は作りかけの新曲をやったんですが作りかけ感が強く出ました。精進します…。でもいい曲に育ちそう。

mueslie

4人組ギターレスバンド。ボーカルさんの歌のうまさと曲のアレンジが際立っていた。ベース氏の強弱付けたピッキング、キーボード氏の歪んだリード音かっこよかったなあ。

----------

それと、今回のライブ後に珍しく褒められたので、大変もうしわけないんですが、引用させていただいてよろしいですか?よろしいですね。

よいリアクションをもらえると素直にうれしい(お世辞もあるだろうけれど)。モアレコラボっていう大宮 more records のコラボ?の内容が気になる。

ムグバン始めて4年、だんだん上達してきている感覚があるから今後も無理しない感じで続けていきたい。今年は企画やりたいなあ。


Green Russian Big Muff

去年は1つしかエフェクターを買わなかったから(そもそもチューナーだし)、そろそろ何か欲しいなと思い購入した。ファズ系のエフェクターは何個か持っているんだけど、服や靴やコスメだって似たようなデザインや機能でも気に入ったら買うし、エフェクターだって同じようなものだと思っている。

アーミーグリーンカラーが渋い。あと、箱から出したらすでに↑の設定になっていて、このまま使えってことなのかもしれない。SUSTAINフルは基本。

エフェクターボードに組み込んだ。まだ音は出していないけれど紹介動画をみる限りはローミッドがかなり強い印象。ズビーズビー。土曜のライブで使ってみて判断する。


年末年始

年末年始の日記。

12/30

2018年最後の mugbum スタジオ。アサミ不在のためイッチーと二人で練習。新曲をなんとか通せるまでにはなった。あとはイッチーと筋トレ話とかしていた。

12/31

夕方6時くらいにもう寝るだけみたいな状態になり、テレビのチャンネルを回しつつ酒を飲みつつダラダラした。娘が「大晦日ってヒマ。つまんない」と言っていたので、それが大晦日なんだと教えた。よいお年を。

1/1

実家に帰省。父の耳の調子が悪くて耳鼻科に連れて行ったら突発性難聴との診断。薬で様子見。仕事のストレスかなあ。はやく元に戻るといいけれど。病院から戻ってみんなでお節を食べたり餅を焼いたりした。今年もよろしくお願いします。

1/2

アウトレットに行く。アウトレットでスニーカーを買い古いスニーカーを捨てるのがここ数年の行事みたいになっている。あとはランニングしたりダラダラしたりした。

1/3

自宅に帰宅。なんかダラダラしていた気がする。

1/4

ランニングしたら膝が痛くなった。あとはダラダラしていた気がする。

1/5

今年初バンドスタジオ。1/12のライブのセットリストを決めて練習。新曲はとりあえずできそう。スタジオ後はいつものお店で新年会。帰宅後に録音テイクを確認。細かいキメ等をメンバーにLINEした。神は細部に宿る。

1/6

界隈の書店を5つめぐってやっとナウシカ全7巻をゲットした。ナウシカとAKIRAは引っ越しの度に売ったり買ったりを繰り返してしまう。もう売らないぞ。次はAKIRAを揃えるぞ。体重を測ったら2キロ増。一応許容範囲内だけど週末のライブまでに元に戻せるだろうか。