w3mのカスタマイズdebパッケージを作成した

いくつかのサイトで、w3mでアクセスすると「w3m cookie rejected prevent security violatoin [worng number of dots]」という エラーが出て表示できないことがありました。

検索したら、エラーを回避するpatchが公開されていたので、適用した debパッケージを作ってみました。

  1. 必要なパッケージのinstall
# aptitude install dpkg-dev devscripts
# aptitude install debhelper
# aptitude install libgc-dev
  • gc.hが無いとエラーが出たため、w3mのコンパイルに必要な Boehm-GCのファイルをインストール
# aptitude install libssl-dev
  • openssl/md5.hが無いとエラーが出たため、opensslの ファイルをインストール
# aptitude install libncurses5-dev
  • これも必要だった。
  1. 作業ディレクトリ作成
# mkdir ~/apt-src
# mkdir ~/apt-src/w3m
# cd ~/apt-src/w3m
  1. patch取得
# wget http://vdlinux.sourceforge.jp/dists/vd_w3m-cookie-avoid-wrong-number-of-dots.patch
  1. ソース取得
# apt-get source w3m
(出力省略)
# ls -1aF
./
../
vd_w3m-cookie-avoid-wrong-number-of-dots.patch
w3m-0.5.1/
w3m_0.5.1-5.1.diff.gz
w3m_0.5.1-5.1.dsc
w3m_0.5.1.orig.tar.gz
  1. patch適用
# cd w3m-0.5.1
# patch -p1 < ../vd_w3m-cookie-avoid-wrong-number-of-dots.patch
patching file fm.h
Hunk #1 succeeded at 1085 (offset 2 lines).
patching file rc.c
Hunk #1 succeeded at 197 (offset 1 line).
Hunk #2 succeeded at 564 (offset 3 lines).
Hunk #3 succeeded at 1097 (offset 3 lines).
patching file cookie.c
Hunk #1 succeeded at 251 (offset -7 lines).
Hunk #2 succeeded at 321 (offset -7 lines).
Hunk #3 succeeded at 336 (offset -7 lines).
  1. changelog作成
# dch -i
  1. パッケージ作成
# debuild -us -uc -d
  1. インストール
# cd ..
# dpkg -i w3m_0.5.1-5.1custom1_i386.deb

使い方とか、メモ

  • make_domain_list()では「 」または「,」で区切ってる

    • url.c での該当関数参照
  • avoid_long_number_of_dotsの設定

    • 怪しいcookieにあたりを付ける

    • firefox + Live HTTP headers とかで調べておく。大抵、 「.」から始まって、サイトのドメイン名っぽいのが使われて いるところ

      Set-Cookie: ...; Domain=.some.domain.name; ...

      みたいになってるところ

    • w3mの設定

      • avoid_long_number_of_dotsのpatchを適用したw3mだと 特定のドメインについて、上記のようなcookieの情報を 受け付けるように出来る。
      • w3m起動
      • (デフォルト設定の場合)oを押して、設定画面へ
      • (日本語の場合)「クッキーの設定」セクションに 「Domains to avoid [wrong number of dots]」という 設定項目が出来ている
      • (上記の例の場合)「.some.domain.name」と値を設定
      • 複数設定する時は、「,」または「 」で区切る

Return to Top
Page last modified Fri Feb 8 00:06:35 2008.