commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "BattousaiX (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (NET-276) NNTPClient has problems with group listings for large groups.
Date Thu, 28 Apr 2011 04:28:03 GMT

    [ https://issues.apache.org/jira/browse/NET-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13026112#comment-13026112
] 

BattousaiX commented on NET-276:
--------------------------------

I have tried your code, but there is an error with the following line.
result._setNewsgroup(tokenizer.nextToken());
_setNewsgroup method is not visible.  

Were any other modifications made?

> NNTPClient has problems with group listings for large groups.
> -------------------------------------------------------------
>
>                 Key: NET-276
>                 URL: https://issues.apache.org/jira/browse/NET-276
>             Project: Commons Net
>          Issue Type: Bug
>          Components: NNTP
>    Affects Versions: 2.0
>            Reporter: Erik
>             Fix For: 3.0
>
>
> The following command causes a MalformedServerReplyException on my usenet server (astraweb):
> client.listNewsgroups();
> Root Cause:
> Caused by: org.apache.commons.net.MalformedServerReplyException: alt.binaries.boneless
2230918506 1662764743 y
> 	at org.apache.commons.net.nntp.NNTPClient.__readNewsgroupListing(NNTPClient.java:255)
> 	at org.apache.commons.net.nntp.NNTPClient.listNewsgroups(NNTPClient.java:930)
> 	at org.lievaart.jleecher.protocol.CommandFactory$2.doOnServer(CommandFactory.java:27)
> 	at org.lievaart.jleecher.protocol.NNTPProtocol.callServer(NNTPProtocol.java:33)
> 	... 2 more
> My hypothesis is that NNTP cannot parse the response, because one of the numbers exceeds
the Integer range.
> Locally I have applied the following quick fix to get it to work:
> public class NNTPClient extends NNTP {
> ...
> ...
> ...
> 	private NewsgroupInfo __parseNewsgroupListEntry(final String entry) {
> 		NewsgroupInfo result;
> 		StringTokenizer tokenizer;
> 		int lastNum, firstNum;
> 		String last, first, permission;
> 		result = new NewsgroupInfo();
> 		tokenizer = new StringTokenizer(entry);
> 		if (tokenizer.countTokens() < 4) {
> 			return null;
> 		}
> 		result._setNewsgroup(tokenizer.nextToken());
> 		last = tokenizer.nextToken();
> 		first = tokenizer.nextToken();
> 		permission = tokenizer.nextToken();
> 		try {
> 			try {
> 				lastNum = Integer.parseInt(last);
> 			} catch (NumberFormatException nfe) {
> 				if (last.matches("\\d++")) {
> 					lastNum = Integer.MAX_VALUE;
> 				} else {
> 					throw nfe;
> 				}
> 			}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message