2018-08-01 :-|
_ 労
客先へ行き打ち合わせ労をしました。暑いです。
_ 読書メーター
7月の読書メーター
読んだ本の数:5
読んだページ数:1342
ナイス数:36
ゴールデンカムイ 14 (ヤングジャンプコミックス)の感想
いっきに話が動いたなー。思惑も明らかになってきた。「ふたりはカケトモ」じゃねえよw
読了日:07月28日 著者:野田 サトル
ゴールデンカムイ 13 (ヤングジャンプコミックス)の感想
全裸バトルでいちいち杉元のアレを揺らすんじゃない
読了日:07月28日 著者:野田 サトル
ゴールデンカムイ(12): ヤングジャンプコミックスの感想
温泉回だった(ただしマッチョ)
読了日:07月27日 著者:野田 サトル
プロフェッショナルSSL/TLSの感想
電子書籍を購入。さあみんなもプライベートCAを作ろう。
読了日:07月06日 著者:Ivan Ristić,齋藤孝道
数学ガールの秘密ノート/式とグラフの感想
教科書にすべき。なぜこの内容を学校で教えてくれないのか
読了日:07月04日 著者:結城 浩
読書メーター
2018-08-02 :-|
_ 労
msmtp 労などをしました。
_ 週刊? teck-kern 2018-07-23
Adding a boot flag for No ASLR
ASLR フラグを無効にするパッチです。LLVM の各種サニタイザを使うときに ASLR を無効にする必要があるとのこと。しかし「ユーザーランドのために boot を変更するのはおかしい」等といった感じでツッコミが入っています。
LLVM のサニタイザ
ASLR
hashtables
ハッシュテーブル API が欲しいんだけど、すでに存在するなら教えてほしい。無ければ Linux の実装 を移植するよ。という投稿です。
それにたいして以下の API やコマンドが提示されました。
また「LIST」を使うという手も紹介されてます(こちらはリンクリストですが)
Possible error in dtrace
アドレスが違うよ、おかしいよという話題。
- KERN_BASE = 0x800000000000
- KERNBASE = 0xffffffff80000000
そもそも KERN_BASE と KERNBASE は意味が異なる(紛らわしいね!)。KERNBASE は .text とかのベースアドレスを指す。KERN_BASE はカーネルマップを指す(VM_MIN_KERNEL_ADDRESS のこと)
2018-08-03 :-|
_ [SSL][TLS]SSL/TLS 通信でどのバージョン/暗号化アルゴリズムが使われるのか?
プロトコルバージョンは、サポートしてるうちの最高のバージョンを使うらしい。
暗号化アルゴリズムは実装依存。
The Transport Layer Security (TLS) Protocol Version 1.2
client_version The version of the TLS protocol by which the client wishes to communicate during this session. This SHOULD be the latest (highest valued) version supported by the client.
cipher_suites This is a list of the cryptographic options supported by the client, with the client's first preference first.
server_version This field will contain the lower of that suggested by the client in the client hello and the highest supported by the server.
cipher_suite The single cipher suite selected by the server from the list in ClientHello.cipher_suites.
実装として、みんな大好き OpenSSL を見てみよう。
とくに明記されてませんね。
_ [NetBSD]週刊? teck-kern 2018-08-01
ioctl(2) numbers
ioctl の番号は重複してもいいの?という話題。
ドライバーが異なるならばとくに問題ないけどねー、という会話がされています。
番号は 32 bit で、その内訳は
- 8 bit : キャラクター('r' or 's')
- 8 bit : 整数値
- 13 bit : 引数のサイズ
- 3 bit : 入力、出力、その両方
sysutils/grub2: how to avoid module loading when builtin?
ビルトインにした ffs モジュールを grub がモジュールとして(ffs.kmod) 使おうとするんだけど無効にできませんか? という話題。
「一番いいのは grub に「ビルトインされてるよ」と教えてやること」と回答がきたので、同じ解決策を考えていた質問者は「お前は俺か」というやり取りがあります。
2018-08-04 :-)
_ [きみの声をとどけたい][龍口寺][キミコエ]龍の口竹灯籠
@龍口寺
映画 きみの声をとどけたい (今世紀最高作品の一つ)に登場する寺です。
せっかくだから私も一口出して灯籠を設置しました。基本的には供養のためのものみたいですが「祈願があれば祈願でもよい」とのことなので健康祈願してきました。年寄りなので家内安全、交通安全、無病息災といったものについての重要度が高くなってきますね。
2018-08-05 :-)
_ [未来のミライ]未来のミライ
見ました。三行で言うと
- くんちゃんの成長記録
- 子育てはツラい
- ひいじいじがイケメンすぎる
くんちゃん(4歳くらい?)に妹が出来て、くんちゃんは自分がどういう立場になったのか分からず、社会(家族)からどういう役割を期待されているのかが分からず、自分の感情をどうすればよいのか分からず、ひたすら戸惑いながら、周囲のひとたちに支えられながら(あるいはそれらは昔から自宅に生えている木が見せたものなのか)、一歩ずつ社会(つまり家族)がどういうものなのかを理解しながら進んでいきます。そういう様子が描かれてます。
成長が描かれているのは子供のくんちゃんだけでなく、父親についても描かれています。母親、ミライについては明確には描かれてないですね。父親はようするに家事がまったくできず子育ても分かりません。くんちゃんが生まれたときは仕事一辺倒で、家事はまったくやらず、子育てにも感知しなかったためです。それが父親はミライが生まれる少し前のタイミングでフリーランスとなり、代わりに母親は仕事に戻ります。つまり父親が家事、子育てをすべて担うわけですがまったくできません。それが物語が進むにつれて徐々にできるようになってきます。
この作品で「成長」が描かれているのは、くんちゃんと 父親だけです。(母親も「怒りっぽくなった」という描写はありますが、それが解決した とは描かれていません。ミライは赤ん坊なので身体的に成長してますが、ただそれだけです)。
細田守監督の作品は「時をかける少女」くらいしか見たことないですが、この作品はジェンダーを扱いたいわけではないですよね?考え過ぎでしょうか。
2018-08-07 :-|
_ 労
設計労をやりました。
_ [インフラ勉強会]HTTPSについて語ってみる – インフラ勉強会
SSL/TLS 証明書や HTTP/2 や QUIC の話題でした。
証明書は以下の順で信頼度というかお金がかかるという話題など。
- EV
- OV
- DV
証明書が発行されているというだけであり、その組織が反社会的かどうかまではチェックしてるわけではないので注意しような。的な。
2018-08-08 :-|
_ 労
設計労をしていたところ「台風接近にともないとっとと帰れ」という命令が出たので帰りました。「交通機関の乱れに注意して出勤しましょう」などという文句を 10 年間ほど見かけていたけど、実際に早退するのは初めてです。
帰宅後は力尽き息絶えていたので気絶していました。
2018-08-09 :-)
_ 労
天才的判断により休みました。
出勤しようとしたとき電車は動いていたんですが横浜市営バスが運休していたので全休しました。持っててよかった有給休暇。
もちろん横浜市営バスを使わずとも仕事場に到達する手段はありますが
- 迂回したときの交通費が出るのか(社内規定によるがたぶん出ない(書かれてなかった気がするので要確認))
- 怪我したときに労災認定されるのか(微妙)
なので素直に休むのが吉です。
_ 井澤詩織の後ろ姿が好きです。
Tumblr眺めてたら流れてきたんですが(日付的にはガルパン劇場版のどこかのイベントか?)、まず目を引くのは くびれがエロいですね。エロい。いい。とてもいい。
ガルパンのタンクジャケットは出演者が着てるのは特注品...じゃないですよね?知らんけど。コスパには売ってる。劇中のキャラクターに合わせてるのか、みんなくびれがあるんですが( ref. 『ガルパン』第2次ハートフル・タンク・カーニバルをレポート! | アニメイトタイムズ ) 彼女本人は意識してやってるのか、意識しなくても出来るように訓練したのか、くびれを強調するような姿勢です。
なにより私としては尻が好きです。無駄なお肉がなく引き締まっていてとてもいいです。好きです。はあ...好き
写真を見て 0.3 秒くらいでこのようなことを考えるからキモヲタなのです。キモいですね。
いえーい!カモさんマークのパンツァージャケットは1枚しかないんだぜ〜?レアなんだぜ〜? pic.twitter.com/R8iwLuq5Uq
— 井澤詩織 (@shiori_izawa) 2015年11月20日
_ [艦これ]艦これ 任務「戦闘航空母艦、出撃せよ!」をやりました
伊勢改二の任務です。いまさら
3-5, 4-5, 6-4 でボス S 勝利 1 回ずつです。3-5, 4-5 は適当にやればクリアできますね。6-4 編成だけ。6-4 は道中が怖いですね。大淀を入れて 1 回普通に出撃してボス到達時に割りとボロボロで A 勝利だったので大淀out ザラin して全員キラ付けしてみました。まあやっぱ道中に中破させられたりしましたが。割りとギリギリでした。熊野は WGx1 だけでも砲台に 300超 とか叩き出します。 WG 強い。なお 8cm高角砲改+増設機銃 は持ってません(まだ任務クリアしてない)
2018-08-11 :-)
_ 一日中だらだらしていました
アニメを見るなどしました。
ハッピーシュガーライフ(基本的に狂気がある)は「天罰...ってそこか!違うだろ!もっとこうヤバイことやってるだろ!」などとツッコミを入れながら見ると楽しいですね。
その後はまったりと少女歌劇(ところどころ狂気がある)を見ました。こちらも百合 is 素晴らしい作品です。
2018-08-12 :-)
_ [コミックマーケット][C94]コミックマーケット C94 3日目
行ってきました。夜中 寝てる最中に雷雨になっていて停電するのではないかと思うくらいでしたが、まあなんとか。
東ホール待機列に居たんですが、どうも西側はこれまでにないくらいの待機列が形成されたようですね。東側はいつもどおりでした。
_ [インフラ勉強会]サマータイムについて考えよう! – インフラ勉強会
「まず 2019 年夏までに仕様が決まらんでしょ」という結論でした。いじょう...
それでも仮にサマータイム対応する場合に我々 IT エンジニャーは何を検討しないといけないか、何がリスクなのかという議論(?)が出来ました。政府はほんとにサマータイムやる気なんですかね....
_ [インフラ勉強会]【突発】雰囲気でFACE APIでガッキーの画像を認証してみる – インフラ勉強会
Azure face API の紹介というか。感情分析など出来て素晴らしいですね。
_ [艦これ]艦これ 「精強大型航空母艦、抜錨!」をクリアしました
サラトガ mkII の任務です。古い。5-5 と 6-2 をクリアする必要があります。
6-2 はとっととクリアしてたんですが 5-5 を放置してました。今年の春のイベントのときだったか、夜戦装備が欲しくて一度挑んだんですが A 勝利に終わった( 3 回ボス到達して 3 回 A 勝利 )んですが、再度挑んで S 勝利できました。当時は武蔵改二が実装されてなかったんだったかな。今回は武蔵改二を編成しました。武蔵改二を入れてもかなりギリギリでしたが。
しかし任務報酬の TBF は秋刀魚祭りやガンビア・ベイ改で入手できたのでもはや希少価値が減ってしまったという。まあ量産できるので貴重ですが。
これで制空値 395 なのでボスは航空優勢です。
夜戦突入しましたが、由良はカスダメだろうし夕立は大破してるし朝潮は対潜装備なので、武蔵改二がキメてくれないとヤバい状況でした。
2018-08-13 :-)
_ 週刊? teck-kern 2018-08-06
Debugging DRM on a laptop?
drmkms を更新する作業をラップトップでやってる最中にハングアップするんだけど、何かいい方法ない? なお私が使ってるラップトップの「電源ボタン」はリブートするわけでもないし、シリアルコンソールは見つからない。という話題です。panic するわけではなくシレっと死ぬようです。
DRM は「Direct Rendering Manager」のことで、カーネルが GPU などビデオを制御する仕組みのこと。従来は X が担っていたり、またコンソールのときはフレームバッファーを使って描画していたけど、これらはユーザー空間で動作し、X を落とすときにユーザー空間からカーネル空間へ処理が切り替わるときに画面がチラついたりしてツラかっったけど、DRM はカーネル空間でビデオを処理するのでそれらの問題が無くなるよ。ということらしい。です?
Direct Rendering Manager - Wikipedia
Proposal: rename min/max -> umin/umax
最小値、最大値を求めるマクロ(だったり関数だったり?)の名前を umin/umax に変更しようよ。符号なし整数を扱うんだし。という話題です。
いいね! という反応があるようです。
repeated panics in mutex_vector_enter (from unp_thread)
ここ数日で mutex_vector_enter でパニックを繰り返すようになった助けて!なおシステム(NetBSD)は変更してないしハードウェアも変更していない。という話題です。まだ解決してないようです。
uvm で落ちてるので「メモリかキャッシュが問題なのでは?」という質問には「それは無いな。ECC 使ってる。とか言ってる間にまたパニックした」とのことで。
uvm_fault(0xffffffff8076d460, 0x0, 1) -> e fatal page fault in supervisor mode trap type 6 code 0 rip ffffffff8027663b cs 8 rflags 10286 cr2 8 cpl 0 rsp fffffe811d83bbc0 kernel: page fault trap, code=0 Stopped in pid 0.67 (system) at netbsd:mutex_vector_enter+0x32c: movq 1 8(%rdx),%rax
バックトレースもこれしか無いようで、手がかりが少ないようです。
db{5}> bt mutex_vector_enter() at netbsd:mutex_vector_enter+0x32c unp_thread() at netbsd:unp_thread+0x2eb
panic: biodone2 already
Xen で使ってて、 NetBSD 8.0 にアップグレードしたら /etc/daily でパニックするようになった。という話題です。
「どのドライバで死んでる?」「xbdドライバ(Xenのインターフェース)」「xbd はマルチプロセッサ対応してないのよ」「いや CPU 1 個で使ってる」とのことでですが、まだ解決してないようです。
Finding an available fss device
fss デバイスを誰が使っているか知る方法はないですか?どうもスナップショットをいじってるときにハングする...ことが多いような。という話題です。
それに対してパッチが流れましたが「それだとテストの目的が達成できない(ビットの検査しかしていない)」と、さらにツッコミが入り、スナップショット実行を mutex で囲うようにするパッチが提供されました。競合状態を避けるようにしています。
fss は file system snapshot devices のことで、スナップショットをとってくれるデバイスです。プログラミングするときは ioctl でデバイスに命令を出すようです。
参考
_ [インフラ勉強会]SMTPSについて語ってみる – インフラ勉強会
語ってみた。
インフラ勉強会 初登壇です。最近のアレヤコレヤについて自分の知識をまとめつつ、識者からはツッコミを頂きました。
資料はこちら。(slideshare に pptx も pdf もアップロードできなかった。なぜ)
_ 艦これサントラ
予約しました。
「艦これ」最新OST vol.IV【雨】正式リリースの予約は、
— 「艦これ」開発/運営 (@KanColle_STAFF) 2018年8月13日
全国の【HMV】さんの店頭及び同Onlineさん https://t.co/i6JWaCti5X
【TSUTAYA Online】さん https://t.co/ePwvOjXGH2
【神楽酒保】さん https://t.co/tt89Cyzfex
【Loppi】さん(Loppi番号:036313)で、それぞれ本日よりご案内開始です!#艦これ
_ アニメを見るなどしました
はねバドを見ました。羽咲綾乃の情緒不安定さがますます際立っているように見えますね。薄氷を踏むような展開です。この作品はスポーツにおけるメンタル面がどれだけ影響するか、ということについてすごく丁寧に描いているんですが、その点で見ると羽咲綾乃の試合相手だった芹ヶ谷薫子のほうがメンタルについてしっかり描かれているようでした。羽咲綾乃はもうメンタルがぶっ壊れてませんかね。いまの状態だと荒垣なぎさがすごく安定してるように見えて、もう一回試合したら荒垣なぎさが勝ちそうなんですが。
はるかなレシーブを見ました。いいですね。「はるかな」ペアが一歩ずつ成長している感じが描かれていて非常によいです。比嘉かなたの尻が好き。「エクレア」ペアは全国2位らしいですが全国1位のペアは誰なんでしょうか。
はたらく細胞を見ました。井上喜久子が先生役やっててもう完全にみずほ先生 (おねがい☆ティーチャー) じゃないですか....。そして登場する石田彰。アカンやつなんだろうなーと思いながら見てたらアカンやつでした。
2018-08-14 :-)
_ [艦これ]艦これ「精鋭「二七駆」第一小隊、出撃せよ!」任務をやりました
白露改二と時雨改二を含んだ編成で 2-3、4-1、5-5、6-5 をボス S 勝利 1 回ずつです。
5-5 がツラい。ギリギリでした。相変わらずヲ級を残した状態で夜戦に突入したけど夜戦で動けるのが白露だけ(武蔵改二は大破。時雨は対潜装備なので火力は期待できない)んですが、白露のカスダメでかろじてヲ級を沈めました。
6-5 については伊勢改二の任務と平行して消化したので後述。
_ [艦これ]艦これ「「伊勢改二」、敵機動部隊を迎撃せよ!」任務をやりました
伊勢改二を旗艦にして 6-5 ボス S 勝利 3 回で任務達成です。
白露改二の任務と平行して出来るのでまずは伊勢改二と白露改二と時雨改二を入れた編成です。基地航空隊は陸戦、陸攻x3 で 2 部隊をボス集中させました。2 回ゲージ削ると敵からの空襲が発生するので、基地航空隊 第3部隊を防空にしました。基地航空隊 3 部隊目を使うためには「設営隊」を入手する必要があります(800円)。
S 勝利 1 回やったあと編成変更しました。道中の防空要員とボスでの夜戦要員のバランスを考える必要があるんですが、結局こうしました。この編成で 2 回 S 勝利しました。雷巡、駆逐艦はキラ付けしたほうがよいかと。ボス最終編成にたいしては制空値が足りないと思うのでゲージ破壊時は艦戦を増やさないと航空優勢とれなさそうです。
2018-08-16 :-|
_ 労
夏季休暇が終わりました。引き続き労に勤しみましょう。
_ C言語
c言語のかんすうでさ、必ず16Byte長の配列を渡す必要があるならさ
— しんやさん (@NAGAYASU_Shinya) 2018年8月16日
void f(uint8_t *p)
じゃなくて
typedef struct {
uint8_t a[16];
} hoge_t;
void f(hoge_t *p)
みたいにしておいてくれると嬉しい。
なるほど。
#include <stdio.h> #include <string.h> typedef struct hoge_tag { uint8_t a[8]; }hoge_t; void hoge(hoge_t* p) { puts(strncpy(p->a, "012345678", sizeof(p->a))); puts(strncpy(p->a, "0123456789", sizeof(p->a))); } int main(int ac, char** av) { hoge_t h = {0}; hoge(&h); return 0; }
% gcc size1.c % ./a.exe 01234567 01234567
2018-08-17 :-|
_ 労
設計労をしました。
_ 昨日の C 言語のやつ
NUL 文字 '\0' のぶんが考慮されてないのでバッファオーバーランしますね。
strcpy() 関数は src が指す文字列を末尾のヌルバイト ('\0') も含めて dest が指すバッファーにコピーする。 二つの文字列は重なってはならない。受け側の文字列 dest は コピーを受け取るのに十分な大きさでなければならない。 バッファーオーバーランに気を付けること!
こうしないといけない。
strncpy(p->a, "012345678", sizeof(p->a) -1);
あるいは BSD なら strlcpy が使えます。
この関数は strncpy() と同様だが、 最大でも size-1 バイトしか dest にコピーをせず、 末尾への終端のヌルバイトの追加が必ず行われ、 宛先バッファー (の未使用部分) へのヌルバイトの書き込みが行われない。
2018-08-18 :-)
_ [ペンギン・ハイウェイ]ペンギン・ハイウェイ を見ました
原作読んでません(原作があるのも初めて知った)。事前に劇場で CM やってましたがそれを見たときは冒険ものかと思ってたんですが、ウェブサイトの PV を見るとだいぶ違いますね。おっぱいの話でした。間違ってはいないけど間違ってます。少年アオヤマ君が世界の真理を知るために科学的アプローチで追求する話です。たぶん。
私としてはお姉さんの存在について理解が追いついてないです。
念の為改行。
世界は謎に満ちていて、お姉さんの存在も謎だし、街に現れたペンギンも謎だし、お姉さんとペンギンの関係も謎だし、ペンギンと<海>との関係も謎だし、ジャバウォックも謎だし、少年がお姉さんのおっぱいに惹かれる理由も謎だし(劇中でその理由を知るために仮説と観察とその考察が書かれたノートが描かれる)、たぶん少年はお姉さんに恋しているんだけどそのことについてはいっさい触れないし、ハマモトさんがアオヤマ君と一緒に研究している理由についてアオヤマ君は考えたこともないだろうし。
アオヤマ君とお姉さんはついに「世界の果て」に到達します。「世界の果て」はお姉さんが生まれ育った「海辺の町」とそっくりでした。物語の舞台はすべて同じ街の中か、あるいはアオヤマ君がお姉さんから聞いた「海辺の町」だけです。つまり「世界の果て」はアオヤマ君が現在認知している「世界」(物語の舞台)の限界を表している。と思う。
「世界の果て」を知りたいというアオヤマ君の衝動は、お姉さんの生まれ育った「海辺の町」を知りたい、お姉さんのことをもっと知りたいということを表している。と思う。アオヤマ君は探究心により行動しているのだと思ってるんだろうけど、たぶんそれはお姉さんへの恋心を根底にしているんだぞ。
でも「将来結婚する相手は決めている」と言っているので恋心は自覚しているかもしれない。なおこの言葉は最初と最後に言った。最初はお姉さんが対象だったけど「近所のお姉さんへの憧れ」という意味だっただろうしアオヤマ君もそれは自覚している。最後に言ったときはハマモトさんに対しての言葉だっただろう、タイミング的に。ハマモトさんへの言葉は「憧れの遠いひと」ではなく「身近にいる等身大のひと」へ向けた言葉であろう。
さて、お姉さんとペンギンとジャバウォックと<海>との関係は、アオヤマ君は理解したらしいけど、私は分からんかった。
- <海>は世界の真理を乱すモノ(時空を歪めたりする)。この世界に存在してはいけない
- ペンギンは<海>からの侵食を抑え込む
- ジャバウォックはペンギンを捕食する
- お姉さんはペンギンを生み出す
- <海>が大きいときお姉さんは元気である
- <海>が小さいときお姉さんは元気ではない
- お姉さんは暗い状態から明るい状態になったとき(日陰から日向など)にペンギンを生み出す
- お姉さんは暗い状態のときコウモリなどを生み出す
- お姉さんはツラいときジャバウォックを生み出す
つまり、お姉さんは世界そのもの?
2018-08-20 :-|
_ 労
設計労をしました。
_ [SMTP][SMPTS][STARTTLS][OpenSSL]OpenSSL s_client での STARTTLS
openssl s_client -starttls smtp ほげほげ
と実行したときに通るコード。
マニュアル s_client
実装 openssl-1.0.2h/apps/s_client.c
/* This is an ugly hack that does a lot of assumptions */ /* * We do have to handle multi-line responses which may come in a single * packet or not. We therefore have to use BIO_gets() which does need a * buffering BIO. So during the initial chitchat we do push a buffering * BIO into the chain that is removed again later on to not disturb the * rest of the s_client operation. */ if (starttls_proto == PROTO_SMTP) { int foundit = 0; 略 /* wait for multi-line response to end EHLO SMTP response */ do { mbuf_len = BIO_gets(fbio, mbuf, BUFSIZZ); if (strstr(mbuf, "STARTTLS")) foundit = 1; } while (mbuf_len > 3 && mbuf[3] == '-');
コメントに「ダーティなハックだぜ」と書いてあるようにサーバーからのレスポンスとして「複数行の 250」だけを想定しています。たとえばこう( SMTP Service Extension for Secure SMTP over Transport Layer Security )
S: 250-mail.imc.org offers a warm hug of welcome S: 250-8BITMIME S: 250-STARTTLS S: 250 DSN
しかし以下のように 1 行だけ返ってきたときは無限ループになります。
250 STARTTLS
_ [NetBSD]週刊? teck-kern 2018-08-13
GSoC 18: Kernel Address Sanitizer, Final Report
カーネルアドレスサニタイザー完了報告。詳細は NetBSD blog 参照 GSoC 2018 Reports: Kernel Address Sanitizer, Part 3
Linux を参考にしたんでしょうか。kernel 弄るひとが数年前にパッチを読んでました Linux:面白そうなpatch(Address sanitizer for kernel)を見てみる - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
Zombie kernel thread
Xen の NetBSD 8.0 がハングしたんだけど、そのときカーネルスレッドがゾンビになってた。こういうことあるの?またはオレが何か見間違えてる?という話題です。いまのところまだ反応はないです。
All processes go tstile
dump してたら全プロセスが tstile になった(tstileって?ハングアップしたということでしょうか)。I/O フラッシュ待ちになってるのでディスク周りが何かおかしいでしょうか。という話題です。
Too many PMC implementations
パフォーマンスモニター多すぎ問題。
DTrace が現実的かと。他には honggfuzz が GSoC で現在進行系とのこと。
2018-08-26 :-)
_ [アニサマ]Animelo Summer Live 2018 “OK!” 3 日目
@さいたまスーパーアリーナ
初めてアニサマへ行ってきました。
とくに目当てが居るわけではないんですが日頃から雑多に四半期ごとのアニメの OP/ED をテキトーに買い漁って聞くという生活をしているので、様々な声優/歌手が出演するイベントは私には合うのではないか、と(藍色仮面)。半分くらいは歌を知りませんでした。
声優もユニットも顔と名前と歌が一致しないのでせめて登場するときにスクリーンにユニット名と曲名を表示してほしい。EXTRA [ 20070707#p03 ]のときにそういう演出だったけど、アレやってくれると熱いのでよいです。
早見沙織と鈴木みのりによる「Catch You Catch Me」が聞けだけでおっさんは満足です。二人ともカードキャプターさくらクリアカード編の ED を歌っていた方です。「Catch You Catch Me」はカードキャプターさくら(1998年放送)初期の OP です。20 年前の作品です。鈴木みのりは 1997 年生まれらしいんですがカードキャプターさくら知ってるのか。まあ記録媒体があるから見れるか。
鈴木みのりが声優デビュー 3 年目というわりには客いじりがうますぎるし落ち着いてるのでなんだこの若者はと思ったけどフレイア・ヴィオン (マクロスΔ)が声優デビューだったのね。ワルキューレはしょっちゅうライブやってるしどうりで場馴れしてるわけです。鈴木みのり可愛いですね。
あとは クソアニメ ポプテピピックのネタとしてヘルシェイク矢野が出演してたので会場みんなで「へーるしぇいく へーるしぇいく」と劇中の場面を再現させてました。アホだなあと思いながら楽しみました。
片道 2h かかるので、終演が 21:30 ころなんですが 21:00 にはカーテンコールが始まったのでそのタイミングで抜けてきました。会場の外に出たら他にも帰宅するひとたちがたくさん居ました。帰宅したのはなんだかんだで 23:30 でした。つらい。埼玉は遠い。
2018-08-28 :-|
_ 労
デバッグ労などをしました。
_ [TLS][SSL]サーバー証明書を指定しないと TLS ハンドシェイクでエラーになる件
ようするに Anonymous DH(ADH) を使うことになるうえにデフォルトだと OpenSSL は ADH を無効化しているのでハンドシェイクできません、ということらしい。
- In which cases can an SSL server omit sending the certificate? - Stack Overflow
- c++ - using SSL without certificate - Stack Overflow
- Is it safe to use HTTPS without SSL certificates for my own domains? - Stack Overflow
- The Transport Layer Security (TLS) Protocol Version 1.2 - A.5. The Cipher Suite
The following cipher suites are used for completely anonymous Diffie-Hellman communications in which neither party is authenticated. Note that this mode is vulnerable to man-in-the- middle attacks. Using this mode therefore is of limited use: These cipher suites MUST NOT be used by TLS 1.2 implementations unless the application layer has specifically requested to allow anonymous key exchange. (Anonymous key exchange may sometimes be acceptable, for example, to support opportunistic encryption when no set-up for authentication is in place, or when TLS is used as part of more complex security protocols that have other means to ensure authentication.) CipherSuite TLS_DH_anon_WITH_RC4_128_MD5 = { 0x00,0x18 }; CipherSuite TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = { 0x00,0x1B }; CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA = { 0x00,0x34 }; CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA = { 0x00,0x3A }; CipherSuite TLS_DH_anon_WITH_AES_128_CBC_SHA256 = { 0x00,0x6C }; CipherSuite TLS_DH_anon_WITH_AES_256_CBC_SHA256 = { 0x00,0x6D };
たとえば Simple TLS Server - OpenSSLWiki というコードがあるじゃろ。
証明書と鍵を読む処理を #if 0 しておく。なお #include <string.h> を追加しないと strlen() で警告が出る。
#include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> #include <openssl/ssl.h> #include <openssl/err.h> int create_socket(int port) { int s; struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = htonl(INADDR_ANY); s = socket(AF_INET, SOCK_STREAM, 0); if (s < 0) { perror("Unable to create socket"); exit(EXIT_FAILURE); } if (bind(s, (struct sockaddr*)&addr, sizeof(addr)) < 0) { perror("Unable to bind"); exit(EXIT_FAILURE); } if (listen(s, 1) < 0) { perror("Unable to listen"); exit(EXIT_FAILURE); } return s; } void init_openssl() { SSL_load_error_strings(); OpenSSL_add_ssl_algorithms(); } void cleanup_openssl() { EVP_cleanup(); } SSL_CTX *create_context() { const SSL_METHOD *method; SSL_CTX *ctx; method = SSLv23_server_method(); ctx = SSL_CTX_new(method); if (!ctx) { perror("Unable to create SSL context"); ERR_print_errors_fp(stderr); exit(EXIT_FAILURE); } return ctx; } void configure_context(SSL_CTX *ctx) { SSL_CTX_set_ecdh_auto(ctx, 1); #if 0 /* Set the key and cert */ if (SSL_CTX_use_certificate_file(ctx, "/etc/ssl/myCA/ca.crt", SSL_FILETYPE_PEM) <= 0) { ERR_print_errors_fp(stderr); exit(EXIT_FAILURE); } if (SSL_CTX_use_PrivateKey_file(ctx, "/etc/ssl/myCA/private/ca.key", SSL_FILETYPE_PEM) <= 0 ) { ERR_print_errors_fp(stderr); exit(EXIT_FAILURE); } #endif } int main(int argc, char **argv) { int sock; SSL_CTX *ctx; init_openssl(); ctx = create_context(); configure_context(ctx); sock = create_socket(4433); /* Handle connections */ while(1) { struct sockaddr_in addr; uint len = sizeof(addr); SSL *ssl; const char reply[] = "test\n"; int client = accept(sock, (struct sockaddr*)&addr, &len); if (client < 0) { perror("Unable to accept"); exit(EXIT_FAILURE); } ssl = SSL_new(ctx); SSL_set_fd(ssl, client); if (SSL_accept(ssl) <= 0) { ERR_print_errors_fp(stderr); } else { SSL_write(ssl, reply, strlen(reply)); } SSL_free(ssl); close(client); } close(sock); SSL_CTX_free(ctx); cleanup_openssl(); }
ビルドして
gcc -g simple_tls_server.c -o simple_tls_server -L/usr/lib -I/usr/include -lssl -lcrypto
起動
% sudo ./simple_tls_server
クライアントから接続するとエラーになる。
% openssl s_client -connect localhost:4433 CONNECTED(00000003) 139649144783360:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1407:SSL alert number 40 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 7 bytes and written 176 bytes Verification: OK --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: PSK identity: None PSK identity hint: None SRP username: None Start Time: 1535423653 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: no ---
サーバーはこんなことを言う。
139814337991168:error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:ssl/statem/statem_srvr.c:1419:
2018-08-31 :-|
_ [OpenSSL][SSLv3][SSL][TLS][暗号スイート][暗号化アルゴリズム]SSLv3 に規定されている暗号化アルゴリズムの現状
そもそも SSLv3 は使用禁止されているというのは置いておいて。カクカクシカジカ
鍵交換アルゴリズムと暗号アルゴリズムとハッシュアルゴリズムを混ぜてます。なお OpenSSL でいう「DES-CBC3」は「CBC 3DES」のこと。
opnssl ciphers のマニュアルから抜粋。
- RC2: 脆弱性あり
- RC5: 脆弱性は指摘されていない。RSA が特許を保持している。
- MDC2: IBMが特許を保持している。
- DES: 脆弱性あり。https://jvndb.jvn.jp/ja/contents/2016/JVNDB-2016-004511.html
- MD2: 脆弱性あり http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2409
- MD5: 脆弱性有り。利用は推奨されていない。https://tools.ietf.org/html/rfc6151
- 輸出規制: アメリカ合衆国からの暗号の輸出規制のこと。暗号アルゴリズムがアメリカ外へ漏れると厄介なので規制した。
- 匿名鍵交換: Anonymous DH(ADH,DH_anonとも)。証明書を使わずに公開鍵交換をおこなう。SSLv3に規定されているが誰も使っていない。
- 3DES(トリプルDES): 脆弱性あり。https://jvndb.jvn.jp/ja/contents/2016/JVNDB-2016-004511.html より安全なAESへの移行が推奨されている。WindowsXPがAES未対応で、3DESまでしか対応していない。|有効化|
- Camellia: 脆弱性は指摘されていない。|有効化|
- IDEA: 脆弱性は指摘されていない。特許の問題があったが特許は期限が切れている。実運用上は問題ないとして TLS 1.2 では削除された。
参考文献
OpenSSL のページには SSL 3.0 (TLS 1.0) の RFC で規定された暗号スイートだけでなく、拡張の暗号スイートも書いてある。それらは SSL 3.0 の RFC に書かれていないので別の RFC を参照する必要がある。面倒くさい。
- SSL 3.0
- TLS 1.1
- TLS 1.2
- Using the Secure Remote Password (SRP) Protocol for TLS Authentication
- Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)
- Prohibiting RC4 Cipher Suites
- Addition of Kerberos Cipher Suites to Transport Layer Security (TLS)
- DES and IDEA Cipher Suites for Transport Layer Security (TLS)
- GOST 28147-89 Cipher Suites for Transport Layer Security (TLS)