GNOME Bugzilla – Bug 644367
Check NNTP server capabilities before using OVER command
Last modified: 2011-03-15 01:41:26 UTC
Created attachment 183038 [details] output of CAMEL_DEBUG=all evolution >& evo.log Hi, I am positive that I did my account settings correct but I cannot recieve nntp news from forums.opensuse.org. I did CAMEL_DEBUG=all evolution >& evo.log and sending output as an attachment. Additionally, here is the part where I thing is problem accuring: NNTP_STREAM_LINE(54): '200 Welcome to forums.novell.com! (Typhoon v2.1.2.394)' NNTP_COMMAND: 'mode reader' NNTP_STREAM_LINE(54): '200 Welcome to forums.novell.com! (Typhoon v2.1.2.394)' NNTP_COMMAND: 'date' NNTP_STREAM_LINE(18): '111 20110310011224' NNTP_COMMAND: 'group opensuse.org.de.community.allgemeines-gequatsche' NNTP_STREAM_LINE(62): '211 133 2 134 opensuse.org.de.community.allgemeines-gequatsche' NNTP_COMMAND: 'over 2-134' NNTP_STREAM_FILL(ERROR): 0 - 'Bağlantı karşıdan kesildi' CamelException.setv(0xad1b60d8, 2, 'NNTP Command failed: Bağlantı karşıdan kesildi') NNTP_COMMAND: 'xover 2-134' NNTP_STREAM_FILL(ERROR): 0 - 'Bağlantı karşıdan kesildi' CamelException.setv(0xad1b60d8, 2, 'NNTP Command failed: Bağlantı karşıdan kesildi') "Bağlantı karşıdan kesildi" means "connection closed remotely" in Turkish
I found out that my nntp server doesn't accept over command but instead accepts xover command. So initial over command breaks the connections. Is there anyway to stop that command to be used?
I can confirm the issue here (I'm a non-technical administrator on forums.opensuse.org) - it seems that in Evolution 2.28.1 the 'over' command isn't used, and that version works fine. But in 2.30.x and later, the 'over' command is tried and on servers that don't support it, the connection is terminated. That seems to be the cause of this issue. The server in use at forums.opensuse.org (and forums.novell.com) is Typhoon (as can be seen in the debug info Yasar posted). It looks like what Evolution probably needs to do is issue a "HELP" command to identify what are and are not valid commands on the server and then not execute commands that aren't part of what the server understands.
Thanks for a bug report. I added there this within bug #518876. Reading the RFC 3977 I see that HELP command is not suitable for our needs, as it is meant for humans, not for machines. The right property is CAPABILITIES, where the server may advertise OVER when it supports it. I overlooked this when I was working on the mentioned bug, I'm sorry. I'll fix it.
I've a bad news for you, your server is totally broken. From the above mentioned RFC: > 5.2. CAPABILITIES > 5.2.1. Usage > This command is mandatory. But your server just hangs off (Connection reset by peer). So it seems to me that the server is not following the RFC. Maybe something wrong with setup? Either way, this works fine with gmane server, thus I know I wrote the capability command correctly.
Created attachment 183159 [details] [review] eds patch for evolution-data-server; I'm not happy that I should also workaround an error on the CAPABILITY command, but as it's doable, then let's have it there. Please check with the server provider why they do not follow the RFC, or if there's anything overlooked for setting on the server that it disconnects when one tries to invoke such command. Thanks.
Created commit bc68419 in eds master (2.91.92+)
Thanks - I'll see if I have a contact at Highwinds to find out about the lack of a CAPABILITIES command - it does seem odd that it just hangs up on an invalid command. Thanks for working around that.