From f2b0f41d8492ebf92b0e331e8c9c78e626f371c9 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Fri, 10 Jul 2026 23:55:32 +0200 Subject: migrated jcifs, mime4j to latest --- ivy.xml | 5 ++- .../yacy/cora/document/id/MultiProtocolURL.java | 44 ++++++++++++---------- source/net/yacy/crawler/retrieval/SMBLoader.java | 25 ++++++------ .../cora/document/id/MultiProtocolURLTest.java | 13 ++++++- 4 files changed, 52 insertions(+), 35 deletions(-) diff --git a/ivy.xml b/ivy.xml index 3d6f5d054..71c9a4a70 100644 --- a/ivy.xml +++ b/ivy.xml @@ -31,7 +31,7 @@ - + @@ -44,7 +44,8 @@ - + + diff --git a/source/net/yacy/cora/document/id/MultiProtocolURL.java b/source/net/yacy/cora/document/id/MultiProtocolURL.java index 0ff750b09..1cc8a3b9e 100644 --- a/source/net/yacy/cora/document/id/MultiProtocolURL.java +++ b/source/net/yacy/cora/document/id/MultiProtocolURL.java @@ -52,6 +52,8 @@ import java.util.regex.Pattern; import org.apache.http.HttpStatus; +import jcifs.CIFSContext; +import jcifs.context.SingletonContext; import jcifs.smb.SmbException; import jcifs.smb.SmbFile; import jcifs.smb.SmbFileInputStream; @@ -77,6 +79,7 @@ public class MultiProtocolURL implements Serializable, Comparable 0 ) { - System.out.write( b, 0, n ); + try (final SmbFileInputStream in = new SmbFileInputStream(sf)) { + byte[] b = new byte[8192]; + int n; + while(( n = in.read( b )) > 0 ) { + System.out.write( b, 0, n ); + } } } } catch (final SmbException e) { diff --git a/test/java/net/yacy/cora/document/id/MultiProtocolURLTest.java b/test/java/net/yacy/cora/document/id/MultiProtocolURLTest.java index 4162096c9..4f50baf6d 100644 --- a/test/java/net/yacy/cora/document/id/MultiProtocolURLTest.java +++ b/test/java/net/yacy/cora/document/id/MultiProtocolURLTest.java @@ -1,6 +1,7 @@ package net.yacy.cora.document.id; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -15,10 +16,21 @@ import java.util.TreeSet; import org.junit.Test; +import jcifs.context.SingletonContext; +import jcifs.smb.SmbFile; + /** * Automated unit tests for the {@link MultiProtocolURL} class. */ public class MultiProtocolURLTest { + + @Test + public void testSmbFileUsesSharedContext() throws MalformedURLException { + final MultiProtocolURL url = new MultiProtocolURL("smb://example.test/share/file.txt"); + try (final SmbFile smbFile = url.getSmbFile()) { + assertSame(SingletonContext.getInstance(), smbFile.getContext()); + } + } @Test public void testSessionIdRemoval() throws MalformedURLException { @@ -511,4 +523,3 @@ public class MultiProtocolURLTest { } - -- cgit v1.2.3