シェルスクリプトでURLエンコード
これでいいのだろうか。
echo ${STRINGS} | nkf -MQ | sed -ez 's/=\n//g' | tr = %
nkf が MIME encode するときにブツブツ改行分割してくるから、そこを sed で除去する必要がありそうだった。
POSTデータを生成するなら、さらに半角スペース(%20)を "+" に置換する必要もある。
python とか使えばもっとシンプルなんだろうけど、ありふれたコマンドの組み合わせでやろうとすると案外面倒くさいなぁ。
……あれ、これだと改行が %0A にならないかも。あぁっ、めんどくせぇぇっ
こう?うわぁ、すごく泥臭い……。
echo ${STRINGS} | nkf -MQ | sed -ez 's/=\n//g' | sed -z 's/\n=/=0A=/g' | tr = %
■
社内の監視サーバがどんな監視ポリシで動作してるかわかんなくてあれこれ情報をあさった結果、hobbitlaunch.cfg がそれぽいとわかったのでここにメモっておく。
DSN: Return receipt
メーラーデーモンから心当たりの無いメールがでるとのユーザからの問い合わせ。
メールの内容を読むと、Return receipt, Successfully delivered だそうな。
開封確認の類かなと見当を付けたけど、それがどういう仕組みで実現されていないことに思い当たった。そうだ、何年か前に気になりつつも、そのまま調べずにスルーしてたんだった。そんなワケで調べてみた。
-
-
- -
-
まず、メールクライアントで「開封確認付きです、確認応答しますか?」みたいなメッセージが出る類のもの。これは、メールヘッダ Disposition-Notification-To: を指定した際にクライアントが勝手に振る舞うようだ。
でも、今回はメールクライアントではなく、デーモンが勝手に返しているようだ。若干回り道しながらググると、かつてはメールヘッダに Return-Receipt-To を付けるとデーモンが自動返答するというものだったらしいが、いまはそのやり方は廃止され、rcpt to の指定時に NOTIFY の内容を続けて指定するそうだ。あぁ、そうか。DSN でしたか。
つまりは、こんな
telnet to.example.jp 25
helo from.example.jp
mail from:
rcpt to:
data
mail data.
.
quit
みたいな。
なーるほどねー。なんか、こういう新しい知見を得るのって久しぶりの感覚だけど、この知識が再度活用される機会があるかどうかは、かなり微妙。21世紀にもなって、電子メールで開封確認とか配送確認を使う人って……。
- www.puni.net/~mimori/smtp/service.html#dsn
中間証明書が正しく設定されているかを調べる。
ベリサインの仕様変更(鍵長の1,024→2,048bit化)過渡期において、中間証明書がちゃんと導入されたかどうかがよくわからないサーバがあり、あれこれと調べてみた。
"openssl 中間証明書 確認" とかそんなキーワードで検索してみると、さくっとヒットした。
どうやら、Certificate chain 項目内で、証明書のiと、その下段の証明書(中間証明書)のsの情報が一致していたらいいのかな。
ちなみに、openssl コマンドを叩いた中で生じているエラーは、CA証明書を指定することで回避できるようだ。
CentOS などの Linux ならば、バンドルされている(?) /usr/share/swamp/CA.pem を与えれば良いのかもしれない。
■
ひっさしぶりの更新。会社の組織改変で、技術部門から少し外れてしまって、あれこれ調べたりメモ書きを残すような機会が減ってしまいました。