From 78c613513c0bc0314df8236dff8981ec3f3924bf Mon Sep 17 00:00:00 2001 From: Felix Schumacher Date: Wed, 6 Aug 2008 16:39:13 +0200 Subject: [PATCH] jcifs-1.2.10 from tgz Fri Nov 24 11:58:14 EST 2006 jcifs-1.2.10 released / Minor Adjustments The 1.2.10 release is now final. A NetBIOS name service lookup bug has been fixed in addition to severl other harmless adjustments. --- README.txt | 6 ++++++ build.xml | 4 ++-- examples/CopyToTest.java | 29 +++++++++++++++++++++++++++++ src/jcifs/netbios/NameServiceClient.java | 3 +++ src/jcifs/util/transport/Transport.java | 8 ++++++-- 5 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 examples/CopyToTest.java diff --git a/README.txt b/README.txt index db54b75..305bbca 100644 --- a/README.txt +++ b/README.txt @@ -1,3 +1,9 @@ +Fri Nov 24 11:58:14 EST 2006 +jcifs-1.2.10 released / Minor Adjustments + +The 1.2.10 release is now final. A NetBIOS name service lookup bug has +been fixed in addition to severl other harmless adjustments. + Tue Nov 14 12:32:23 EST 2006 jcifs-1.2.10b released / MSRPC Support, Long Unicode Share Name Enumeration and Critical Bugfixes diff --git a/build.xml b/build.xml index 5f3f346..a2e023f 100644 --- a/build.xml +++ b/build.xml @@ -1,7 +1,7 @@ - - + + diff --git a/examples/CopyToTest.java b/examples/CopyToTest.java new file mode 100644 index 0000000..bf6e5da --- /dev/null +++ b/examples/CopyToTest.java @@ -0,0 +1,29 @@ +import jcifs.smb.*; + +public class CopyToTest extends Thread { + + String url1, url2; + + CopyToTest(String url1, String url2) { + this.url1 = url1; + this.url2 = url2; + } + + public void run() { + for (int i = 0; i < 1; i++) { + try { + SmbFile file = new SmbFile(url1); + SmbFile to = new SmbFile(url2); + file.copyTo(to); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public static void main(String[] args) throws Exception { + CopyToTest cts = new CopyToTest(args[0], args[1]); + cts.start(); + Thread.sleep(50000); + } +} diff --git a/src/jcifs/netbios/NameServiceClient.java b/src/jcifs/netbios/NameServiceClient.java index dbc72f9..00f4d3a 100644 --- a/src/jcifs/netbios/NameServiceClient.java +++ b/src/jcifs/netbios/NameServiceClient.java @@ -213,6 +213,9 @@ class NameServiceClient implements Runnable { Integer nid = null; int max = NbtAddress.NBNS.length; + if (max == 0) + max = 1; /* No WINs, try only bcast addr */ + synchronized( response ) { while (max-- > 0) { try { diff --git a/src/jcifs/util/transport/Transport.java b/src/jcifs/util/transport/Transport.java index bcc06be..934549b 100644 --- a/src/jcifs/util/transport/Transport.java +++ b/src/jcifs/util/transport/Transport.java @@ -157,8 +157,9 @@ public abstract class Transport implements Runnable { state = 0; throw new TransportException( "Connection in error", te ); default: + TransportException te = new TransportException( "Invalid state: " + state ); state = 0; - throw new TransportException( "Invalid state: " + state ); + throw te; } state = 1; @@ -213,10 +214,13 @@ public abstract class Transport implements Runnable { break; /* outstanding requests */ } doDisconnect( hard ); + case 4: /* in error - reset the transport */ + thread = null; + state = 0; + break; default: if (log.level >= 1) log.println("Invalid state: " + state); - case 4: /* in error - reset the transport */ thread = null; state = 0; break; -- 2.11.0