1

私はnews.astraweb.comサーバーを使用していて、新しいコマンドと(およびの正式バージョン)をサポートしてTIdNNTPいると発表する状況に遭遇しました-https://www.rfc-editor.org/rfc/rfc3977#section-を参照してください8.3およびhttps://www.rfc-editor.org/rfc/rfc2980#section-2.8LIST EXTENSIONSHDROVERXHDRXOVER

問題は、(XOVER ではなく) OVER コマンドを発行すると、サーバーがコマンド コード 500 (無効なコマンド) で応答することです。TIdNNTPこれは明らかに RFC に準拠しない動作ですが、OVER の代わりに XOVER を強制的に使用する可能性があるかどうか、つまり、一種の「レガシー」モードで動作する可能性があるかどうかを確認したいと思います。同じことは、news.aioe.org のような準拠サーバーでも完全に機能します。

news.astraweb.com からのログの例 (問題のあるサーバー)

->CAPABILITIES
<-500 What?
->LIST EXTENSIONS
<-202 Extensions supported:
<-HDR
<-OVER
<-.
->GROUP group.name
<-211 100031 1 100031 group.name
->OVER 100031-100031
<-500 What?

news.aioe.org からの適切なログ (期待どおりに動作)

-> CAPABILITIES
<- 101 Capability list:
<- VERSION 2
<- IMPLEMENTATION INN 2.5.2
<- AUTHINFO
<-  SASL
<- HDR
<- LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT
<- OVER
<- POST
<- READER
<- SASL NTLM DIGEST-MD5 CRAM-MD5
<- STARTTLS
<- .
-> STARTTLS
<- 382 Begin TLS negotiation now
-> MODE READER
<- 200 news.aioe.org InterNetNews NNRP server INN 2.5.2 ready (posting ok)
-> CAPABILITIES
<- 101 Capability list:
<- VERSION 2
<- IMPLEMENTATION INN 2.5.2
<- AUTHINFO
<-  USER
<-  SASL
<- 
<- HDR
<- LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT
<- OVER
<- POST
<- READER
<- SASL NTLM DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
<- .
-> GROUP group.name
<- 211 4540 67027 71566 group.name
-> OVER 67027-71566
<- 224 Overview information for 67027-71566 follows
....

現在、TIdNNTPサーバーが OVER をサポートすることを発表すると、自動的に OVER が選択され、IdNNTP.XOVER呼び出しを使用すると OVER コマンドが発行されます。これは何とかオーバーライドできますか?この種の従来のサポートを行うことで、わざわざする価値はありますか?

4

1 に答える 1

1

TIdNNTPは、サーバーが をサポートするとOVER主張している場合に使用するようにハードコードされています。それを変更するオプションはありません。直接呼び出す必要があります。その後、必要に応じて応答を処理できます。OVERHDRSendCmd()

個人的には、astraweb.com に連絡して、NNTP サーバーが壊れていることを知らせます。彼らは新しいコマンドを実装するのに苦労しましたCAPABILITIESが、そのコア要件に違反しました:

サーバーは、機能リストが現在利用可能な機能 (拡張機能を含む) を正確に反映していることを確認する必要があります。

1 つのサーバーが準拠していないという理由だけで Indy の動作を変更するつもりはありません。同じ問題のある動作を示すサーバーが他にある場合は、フォールバック オプションを追加する方が理にかなっています。

于 2013-10-07T06:54:12.973 に答える