Ochusha is a so-called 2ch browser based on GTK+.
It is implemented mainly in C/C++ and employs multi-threading so that it runs considerably quickly. We would like to respond to user's request for features.
- ModListStoreをGTK+-2.6のGtkListStore由来のものに置き換えた。
- ModNotebookのタブの端に閉じるボタンを追加し、ツールバーに付いていた
ものを取り除いた。
- 発見したメモリリーク問題を解決した。
- 2chへの書き込み時に複数のCookieの設定が必要になったので、それに対応
した。
- 2chへ送るcookieの内容がクライアントのIPアドレスに結び付けられるよう
になりそうなので、おちゅ〜しゃ終了時のcookieの保存をやめた。
- 2chのdatファイルに、BEのプロファイル指定子("BE:数字-#"や
"<BE:数字:数字>")が現れた場合、対応するURLへのリンクに書き換えるよう
にした。
* バージョン0.5.8
* "BE:数字-#"や"<BE:数字:数字>"が2chのdatファイルのID領域に現れた
場合に、プロファイルへのリンクに書き換えるようにした。
* これまでは2chへの書き込み時に取得したcookieをboardlist.xmlに保存
していたが、2chの仕様変更により、クライアントのIPアドレス変更時
に古いcookieを送るとペナルティが課せられるようになるかもしれない
雰囲気なので、保存しないようにした。
* libghttpは同じ名前のヘッダが複数回現れると最後の値だけを残して
全て捨ててしまうという(仕様)バグがあるため、複数のSet-Cookie
ヘッダを返すようになった最近の2chの仕様変更に対応できなかった。
これに対応するため、libmodifiedghttpでは複数のSet-Cookieヘッダ
が現れた場合には";"で値を連結するように変更した。
* 昔仕様の2chでは書き込み時に設定が必要なCookieは一つだけだった
ので必要なCookieの値をSet-Cookieレスポンスヘッダの値からかなり
乱暴な方法で抜き出して用意していたが、最近の変更で複数のCookie
の設定が必要になったので、相変わらずad-hocながらもそれなりに
根拠のある方法でCookieの値を用意するように変更した。
* C++版次期おちゅ〜しゃ用に用意していたModListStoreとModNotebookを
使用するようにした。
* g_object_set_property()を使っていた部分を全てg_object_set()に置
き換え、GValueを使わないようにした。
* まちBBSなどDAT直読みができない掲示板に対するHTMLからDAT形式への
変換アルゴリズムのバグを修正した。ホスト表示がされている掲示板で
は、各レスがソースHTMLにおいて複数行(2行)で表現されている。ネッ
トワークアクセスの最中など、この2行目以降の途中で読み込み済デー
タが切れている場合に、1行目のデータが予定外のタイミングで捨てら
れていた。その結果、壊れているレスとして取り扱われていた。