Hello,

Here is a patch which fixes two issues in WebServer.java. The first issue is when using KeepAlive and the idle connection is closed. This would cause a NoSuchElementException from the nextToken() method called on an empty string. The second issue was the base64decode object which was never created.

Thanks,

-James

Index: WebServer.java
===================================================================
RCS file: /home/cvspublic/ws-xmlrpc/src/java/org/apache/xmlrpc/WebServer.java,v
retrieving revision 1.26
diff -u -r1.26 WebServer.java
--- WebServer.java 17 Jun 2004 01:49:10 -0000 1.26
+++ WebServer.java 26 Nov 2004 05:23:35 -0000
@@ -696,7 +696,7 @@
private BufferedInputStream input;
private BufferedOutputStream output;
private String user, password;
- private Base64 base64Codec;
+ private Base64 base64Codec = new Base64();
byte[] buffer;


/**
@@ -734,6 +734,14 @@
{
line = readLine();
}
+ + if (line == null) {
+ if (XmlRpc.debug)
+ System.out.println("Connection has been closed");
+ keepAlive = false;
+ continue;
+ }
+ if (XmlRpc.debug)
{
System.out.println(line);
@@ -841,6 +849,9 @@
for (;;)
{
next = input.read();
+ // Handle the EOF condition.
+ if (next == -1 && count == 0)
+ return null;
if (next < 0 || next == '\n')
{
break;

Reply via email to