2005-02-11 ver.0.41 alpha
- 長さを表す変数で負数が使える脆弱性修正
- デバッグ関数を削除
- デバッグビルド時にメモリチェックをするように(VC依存)
- proxy:
- 受信した長さ以上を読み取ってしまっていたのを修正
- 受信したヘッダにContent-Lengthが付加されていない場合は切断されるまで読み込む(Connection: close)
- html/index.html にリンクを追加など
- ブラウザで"表示"→"開く"
Proxy関係のバグがチョコチョコ出てきたんでいったんリリースします。
なんか異常終了したので調べてみたところ改行が"LF"だけのヘッダを送ってきてる鯖があってヘッダの終了位置を判定ミス。で、長い文字列を送り込まれたデバッグ関数で落ちていた模様(デバッグビルド時限定の症状?)。ついでなのでメモリチェックなどを仕込んだ。それと、某スレで指摘されていたバグ修正。proxy.cppにはほかにもあやしいところが…。
Connection: closeのときはContent-Lengthを付けなくてもよい仕様に沿っていなかったために途中までしか受信できていなかったサイトが…。 JaneViewのビューワで見たときになんか途中で切れるなぁと前々から気付いてはいたのだけど…。まぁ、dat受信は無問題だったけどね。
そして今日、
httpstr += buf; // ←Null Terminatedされてないchar[]
なるものを発見 orz。これも修正っと。
ダウンロードはこちらから
o2on ver.0.41 alpha
o2on ver.0.41 alpha source
なんか異常終了したので調べてみたところ改行が"LF"だけのヘッダを送ってきてる鯖があってヘッダの終了位置を判定ミス。で、長い文字列を送り込まれたデバッグ関数で落ちていた模様(デバッグビルド時限定の症状?)。ついでなのでメモリチェックなどを仕込んだ。それと、某スレで指摘されていたバグ修正。proxy.cppにはほかにもあやしいところが…。
Connection: closeのときはContent-Lengthを付けなくてもよい仕様に沿っていなかったために途中までしか受信できていなかったサイトが…。 JaneViewのビューワで見たときになんか途中で切れるなぁと前々から気付いてはいたのだけど…。まぁ、dat受信は無問題だったけどね。
そして今日、
httpstr += buf; // ←Null Terminatedされてないchar[]
なるものを発見 orz。これも修正っと。
ダウンロードはこちらから
o2on ver.0.41 alpha
o2on ver.0.41 alpha source