著作一覧 |
演能にバグというか、うかつなところがあったので修正しました。
で、Rubyも1.9.3p194にバージョンアップして、でもRailsは3.2.2のままとして、能楽堂1.3.1をリリースしました。
演能の修正点:HttpReceiveHttpRequestに与えるバッファを適当に3Kバイト程度にしていましたが(根拠は以前、IISがURI用に2Kを確保しているとかを読んだことがあるからで、2K+1Kなら良いかなぁといったところ)、当然、それを越えるURIを与えると、思わぬエラーとなることです(しかもHttp.sysは内部UTF-16なので、実際は半減するという)。どういうエラーかと言うと、Rackのlintエラーというもの。Http.sysがバッファが不足しているため、途中でパースを中断し、そのためRackに与える環境変数がほとんどセットされない状態となるからです。
で、死んだり、不正なコードが走るわけではないので、それはそれで良いとは思いますが、ここでHttpAPIのドキュメントをあらためて読んだら、バッファは最低でも4K用意しろ、認証するなら16Kは用意しろと書いてあるので、おおそうですか、と増やしたということです。
問題の報告者:masatecさん
どうもありがとうございます。
ジェズイットを見習え |