-
Improvement
-
Resolution: Won't Do
-
Critical
-
None
-
OS: Ubuntu 12.04.4 LTS
Jenkins ver. 1.563
Windows Slaves Plugin ver. 1.3.1
It appears that the windows slaves plugin uses the samba package (jcfis 0.6.5), which only supports SMB1. We currently have a need to support SMB2.X or greater due to security vulnerabilities found with SMB1 and thus SMB1 has been disabled. Due to this, our master jenkins node is unable to negotiate with the windows slave node. The code is failing when trying to fetch the window's directory structure:
//stack trace Connecting to <slave node> ERROR: Failed to connect: <windows slave node> jcifs.smb.SmbException: Failed to connect: <windows slave node> jcifs.util.transport.TransportException: Connection in error jcifs.util.transport.TransportException java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:185) at jcifs.util.transport.Transport.readn(Transport.java:29) at jcifs.smb.SmbTransport.peekKey(SmbTransport.java:388) at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:288) at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:319) at jcifs.util.transport.Transport.run(Transport.java:241) at java.lang.Thread.run(Thread.java:701) at jcifs.util.transport.Transport.run(Transport.java:258) at java.lang.Thread.run(Thread.java:701) at jcifs.util.transport.Transport.connect(Transport.java:154) at jcifs.smb.SmbTransport.connect(SmbTransport.java:307) at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156) at jcifs.smb.SmbFile.doConnect(SmbFile.java:911) at jcifs.smb.SmbFile.connect(SmbFile.java:954) at jcifs.smb.SmbFile.connect0(SmbFile.java:880) at jcifs.smb.SmbFile.queryPath(SmbFile.java:1335) at jcifs.smb.SmbFile.exists(SmbFile.java:1417) at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:225) at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:701) at jcifs.smb.SmbTransport.connect(SmbTransport.java:309) at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156) at jcifs.smb.SmbFile.doConnect(SmbFile.java:911) at jcifs.smb.SmbFile.connect(SmbFile.java:954) at jcifs.smb.SmbFile.connect0(SmbFile.java:880) at jcifs.smb.SmbFile.queryPath(SmbFile.java:1335) at jcifs.smb.SmbFile.exists(SmbFile.java:1417) at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:225) at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:701)