-
Notifications
You must be signed in to change notification settings - Fork 186

Description
We are currently evaluating smbj and tested it using 3 shares (cannot add the real names here):
Share 1: \\samba_server\smb_with_optional_encryption
Share 2: \\windows_server\smb_with_enforced_encryption
Share 3: \\nas_server\smb_without_encryption
Using smbj 0.10.0 we saw the following behaviour:
Share 1 is OK: accessible (SMB_2_1)
Share 2 is OK: access denied (SMB_2_1)
Share 3 is OK: accessible (SMB_2_1)
Using smbj 0.11.1 we got an error with share 3:
Share 1 is OK: accessible (SMB_3_1_1)
Share 2 is OK: accessible (SMB_3_0_2)
Share 3 is not OK: throws the following error, no matter which configuration parameters we use or if we use no configuration at all:
Exception in thread "main" com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: java.util.concurrent.ExecutionException: com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet
at com.hierynomus.smbj.connection.SMBSessionBuilder.establish(SMBSessionBuilder.java:114)
at com.hierynomus.smbj.connection.Connection.authenticate(Connection.java:192)
at com.my.app.SmbTest.main(SmbTest.java:1676)
Caused by: com.hierynomus.protocol.transport.TransportException: java.util.concurrent.ExecutionException: com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet
at com.hierynomus.protocol.transport.TransportException$1.wrap(TransportException.java:30)
at com.hierynomus.protocol.transport.TransportException$1.wrap(TransportException.java:24)
at com.hierynomus.protocol.commons.concurrent.Futures.get(Futures.java:47)
at com.hierynomus.smbj.connection.Connection.sendAndReceive(Connection.java:232)
at com.hierynomus.smbj.connection.SMBSessionBuilder.initiateSessionSetup(SMBSessionBuilder.java:197)
at com.hierynomus.smbj.connection.SMBSessionBuilder.setupSession(SMBSessionBuilder.java:126)
at com.hierynomus.smbj.connection.SMBSessionBuilder.setupSession(SMBSessionBuilder.java:142)
at com.hierynomus.smbj.connection.SMBSessionBuilder.establish(SMBSessionBuilder.java:109)
... 2 more
Caused by: java.util.concurrent.ExecutionException: com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet
at com.hierynomus.protocol.commons.concurrent.PromiseBackedFuture.get(PromiseBackedFuture.java:59)
at com.hierynomus.protocol.commons.concurrent.CancellableFuture.get(CancellableFuture.java:84)
at com.hierynomus.protocol.commons.concurrent.Futures.get(Futures.java:42)
... 7 more
Caused by: com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet
at com.hierynomus.smbj.common.SMBRuntimeException$1.wrap(SMBRuntimeException.java:28)
at com.hierynomus.smbj.common.SMBRuntimeException$1.wrap(SMBRuntimeException.java:22)
at com.hierynomus.protocol.commons.concurrent.Promise.deliverError(Promise.java:95)
at com.hierynomus.smbj.connection.OutstandingRequests.handleError(OutstandingRequests.java:88)
at com.hierynomus.smbj.connection.Connection.handleError(Connection.java:282)
at com.hierynomus.smbj.transport.PacketReader.run(PacketReader.java:54)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet
at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.readFully(DirectTcpPacketReader.java:72)
at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.readTcpHeader(DirectTcpPacketReader.java:59)
at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.doRead(DirectTcpPacketReader.java:48)
at com.hierynomus.smbj.transport.PacketReader.readPacket(PacketReader.java:70)
at com.hierynomus.smbj.transport.PacketReader.run(PacketReader.java:48)
... 1 more
Caused by: java.io.EOFException: EOF while reading packet
... 6 more
We used the following code to test the library (only changed the SmbConfig using different parameters, e.g. withEncryptData(true) etc.):
SmbConfig config = SmbConfig.builder()
.withSecurityProvider(new BCSecurityProvider())
.build();
SMBClient client = new SMBClient(config);
SmbPath smbDir = SmbPath.parse("\\\\samba\\smb_with_optional_encryption");
try (com.hierynomus.smbj.connection.Connection connection = client.connect(smbDir.getHostname()))
{
System.out.println("connected to: " + connection.getRemoteHostname() + "; protocol: "
+ connection.getNegotiatedProtocol());
AuthenticationContext ac = new AuthenticationContext("user1", pass.toCharArray(), "domain.com");
Session session = connection.authenticate(ac);
try (DiskShare share = (DiskShare) session.connectShare(smbDir.getShareName()))
{
for (FileIdBothDirectoryInformation f : share.list(smbDir.getPath()))
{
System.out.println("File : " + f.getFileName());
}
}
}
Any idea what's going wrong here?