w3m 日記投稿までの道のり

スタックトレースが表示されない件は nullDict かどうか(つまりシンボルとアドレスが登録されているか)を見るのがよいとの事だったので見てみたが nullDict ではなかった。日記の投稿を優先させたいので保留。


GNOTE が落ちる件は sprintf でバッファオーバーふろーしているのが原因だった。Commit 80ce5bab12ab240cb142df96c52e9d7e2c49cc12
落ちなくなったので日記を投稿してみたが、500 エラーが返ってきた。POST が不正なのかもしれない。GNOTEの応答速度はなかなか快適で良い。W3Mもあれくらいをめざそう。

POST で何が送られているか

mosh で適当なサーバーをでっち上げて POST してみる。

w3m on Linux

"POST / HTTP/1.0\nUser-Agent: w3m/0.5.2\nAccept: text/html, text/*;q=0.5, image/*, application/*, audio/*, multipart/*, vms/*\nAccept-Encoding: gzip, compress, bzip, bzip2, deflate\nAccept-Language: ja;q=1.0, en;q=0.5\nHost: 192.168.0.5:81\nReferer: http://192.168.0.5/\nContent-type: application/x-www-form-urlencoded\nContent-length: 17\n\nmoge=hidden_value\n"

w3m on Mona

"POST / HTTP/1.0\nUser-Agent: w3m/0.5.2+cvs-1.1001\nAccept: text/html, text/*;q=0.5, image/*\nAccept-Encoding: \nAccept-Language: en;q=1.0\nHost: 192.168.0.5:81\nReferer: http://192.168.0.5/\nContent-type: application/x-www-form-urlencoded\nContent-length: 17\n\nmoge=hidden_value\nK

致命的な違いはないような気がする。


比較のために Linuxw3m から投稿を試したら上手くいった。
別の角度から m.twitter.com (モバイル向け twitter)を試したところ 302 でリダイレクトしてくれない気がする。要検証。

追記

m.twitter.com にうまくあくせすできない。
Status を log にも出すようにした。

W3M: loading http://m.twitter.com/
W3M: Opening socket...
W3M: m.twitter.com contacted. Waiting for reply...
W3M: HTTP/1.1 302 Found
W3M:Received cookie: ......
... cookie 略
W3M: Opening socket...
W3M: m.twitter.com contacted. Waiting for reply...
W3M: HTTP/1.1 200 OK
W3M:Received cookie: auth_token=...
W3M: Viewing <Hage>

ToDo

  • [done] 初期表示用にサーバーサイドにリンク集を置く。
  • [done] GNOTE のスタックトレースがうまく表示されるように MAP ファイルを同梱する。
  • [done] GNOTE のスタックトレース見てバグ取り。
  • [done]500エラーを再現するようなエセサーバーを mosh で実装して送られてくるものを見る。
  • 日記投稿
  • W3M ディレクトリ移動
  • w3m操作方法でよく使いそうなものを実装する。
  • SSL ないとつらい twitter でログインできない
  • w3m redirect しない
  • TSOCK のハングアップ原因を調べる
  • TSOCK のバグが治ったらログを修正する
  • MTTF で QEMU が落ちなくなるのを確認
  • RAMDISK, RECEIVER を使ってみる