ruby-trunk-changes r52077 - r52082

今日は openssl でデフォルトの ssl_version を TLS v1.2 にし、TLS v1 を drop する変更がありました。

nobu: r52077 2015-10-08 10:44:37 +0900

node.c のインデント修正のみ。

nobu: r52078 2015-10-08 10:44:51 +0900

ruby --dump=parsetree で AST を表示する時にノードの文字列表現を作るマクロ群で C の文字列リテラルを早めに連結して rb_str_catf() での String オブジェクト操作の回数を減らそうとしているようです。

svn: r52079 2015-10-08 10:44:52 +0900

version.h の日付更新。

nobu: r52080 2015-10-08 10:45:00 +0900

r52078 の続きで --dump=parsetree での表示用のマクロ群で、コードブロックを関数マクロの引数として与えるのではなくて、マクロの後にブロックを書く(マクロが for 文の for (a;b;c) の部分に展開される)ように変更しています。

nobu: r52081 2015-10-08 10:45:41 +0900

r52078 からの続きで parsetree の dump で、コメントの有無(--dump=parsetree と parsetree_with_comment のことかと)で共通な部分を同じ C の文字列リテラルにして静的文字列の領域をコンパクトにしようとしているみたいですが、マクロ芸が深すぎてよくわかりませんでした。ついでにヘッダ部分の整形(けたを揃える)もしているみたいです。

zzak: r52082 2015-10-08 14:26:44 +0900

拡張ライブラリ openssl の OpenSSL::SSL::SSLContext のデフォルトの設定で ssl_version が TLS v1.2 になりました。 また OpenSSL::SSL::OP_NO_TLSv1 が定義されていればこのフラグをデフォルトの options に立てるようにしています。つまり TLS v1 はデフォルトでは拒否するようにしているということですね。 [Feature #11524] https://github.com/ruby/ruby/pull/873