印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux DeleGate 8.9.2 + 個人的な修正

DeleGate 8.9.2 が3月4日にリリースされたのでバージョンアップする. 私は NetNews を DeleGate 経由で読んでいるのだが (nlog(n): DeleGate 経由で NetNews を読むには),最近プロバイダのニュースサーバが変更され,しかも調子がいまひとつ.問い合わせるのも面倒なので,DeleGate のソースを少し変更して対応することにした.

■ ■ ■

利用しているプロバイダ So-net のニュースサーバに変更があったようだ.プロバイダからのアナウンスは特にない.2月24日までは INN 1.7.2 だったが,25日からは NewsCache 0.99.22p1 となっている.

ニュースサーバの設定が問題なのか,それとも仕様なのか原因は不明だが,タイムアウトしてニュースの購読ができなくなってしまった.delegated のログには次のように出力されていた.

02/25 01:10:03.72 [27842] 89+0: checking pathhost of news.プロバイダ.jp in junk...
02/25 01:20:03.89 [27842] 89+0: fgets(1024) -- IO_TIMEOUT(600)
02/25 01:20:03.89 [27842] 89+0: NNTP S-C EOF[9](-1).
02/25 01:20:03.89 [27842] 89+0: ## S-C 400 server closed () [][]
02/25 01:30:03.95 [27842] 89+0: fgets(1024) -- IO_TIMEOUT(600)
02/25 01:30:03.95 [27842] 89+0: NNTP S-C EOF[9](-1).
02/25 01:30:03.95 [27842] 89+0: ## S-C 400 server closed () [][]
02/25 01:30:03.99 [27842] 89+0: NNTP S-C EOF[9](-1).
02/25 01:30:03.99 [27842] 89+0: ## S-C 400 server closed () [][]
02/25 01:30:03.99 [27842] 89+0: abort: caught SIGPIPE

DeleGate を NNTP プロキシとして使った場合,delegated は pathhost を取得するために junk と control ニュースグループを読もうとする.しかし,新しい So-net のニュースサーバはこれに応答しないため,delegated はタイムアウトするまで待つことになる.そして,コネクションがクローズされて結局ニュースが読めないで終わってしまう,ということになっているようなのである.そこで,nntp.c を編集し,次の部分をコメントアウトすることにした.2126行目付近にある.

/*
        if( get_pathhost0(ns,pathhost,"junk") == 0 )
        if( get_pathhost0(ns,pathhost,"control") == 0 )
                return;
*/

これで無事ニュースが読めるようになった.

DeleGate のコンパイルは make 一発.管理者のメールアドレスの問い合わせがあるので入力するだけである.出来上がった delegated を適当なディレクトリにコピーして動作させればよい.DeleGate は機能が多すぎて設定が分かりづらいが,使えれば非常に役に立つアプリケーションと言える.

2005年1月4日追記:
2005年1月4日現在の So-net のニュースサーバ(NewsCache 0.99.22p1) + DeleGate 8.9.6 でも同様。

2008年3月9日追記:
2007年8月31日で So-net のニュースサービスは終了しました (nlog(n): ネットニュース時代の終わり)。

Posted by n at 2004-03-09 01:02 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?