Opening content root fails with the error "Referral failed, trying next jcifs.smb.SmbException: Failed to connect:"
search cancel

Opening content root fails with the error "Referral failed, trying next jcifs.smb.SmbException: Failed to connect:"

book

Article ID: 191658

calendar_today

Updated On:

Products

Data Loss Prevention Network Discover

Issue/Introduction

When attempting to crawl a Windows file share that has SMB signing enabled and enforced from a Linux based Network Discover server, you may encounter the following warning/error during the crawl stage trying to open the content root:

jcifs.smb.SmbTreeConnection connectHost
WARNING: Referral failed, trying next
jcifs.smb.SmbException: Failed to connect: <hostname>/<ip address>
 at jcifs.smb.SmbTransportImpl.ensureConnected(SmbTransportImpl.java:656)
 at jcifs.smb.SmbTransportPoolImpl.getSmbTransport(SmbTransportPoolImpl.java:214)
 at jcifs.smb.SmbTransportPoolImpl.getSmbTransport(SmbTransportPoolImpl.java:1)
 at jcifs.smb.SmbTreeConnection.connectHost(SmbTreeConnection.java:560)
 at jcifs.smb.SmbTreeConnection.connectHost(SmbTreeConnection.java:484)
 at jcifs.smb.SmbTreeConnection.connect(SmbTreeConnection.java:460)
 at jcifs.smb.SmbTreeConnection.connectWrapException(SmbTreeConnection.java:421)
 at jcifs.smb.SmbFile.ensureTreeConnected(SmbFile.java:545)
 at jcifs.smb.SmbFile.exists(SmbFile.java:821)
 at com.vontu.filesystemcrawler.file.SmbFileAdapter.ensureExists(SmbFileAdapter.java:222)
 at com.vontu.filesystemcrawler.file.FileFactory.createFile(FileFactory.java:74)
 at com.vontu.filesystemcrawler.RootFileFactory.createRootFile(RootFileFactory.java:59)
 at com.vontu.filesystemcrawler.FileSystemContentRoot.open(FileSystemContentRoot.java:99)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.openContentRoot(RepositoryCrawler.java:837)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.crawlUserContentRoot(RepositoryCrawler.java:677)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.crawl(RepositoryCrawler.java:518)
 at com.vontu.discover.crawler.framework.RepositoryCrawler$CrawlerThread.run(RepositoryCrawler.java:353)
Caused by: jcifs.util.transport.TransportException: java.io.IOException: transport closed in negotiate
 at jcifs.util.transport.Transport.run(Transport.java:759)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: transport closed in negotiate
 at jcifs.smb.SmbTransportImpl.negotiatePeek(SmbTransportImpl.java:580)
 at jcifs.smb.SmbTransportImpl.negotiate2(SmbTransportImpl.java:622)
 at jcifs.smb.SmbTransportImpl.negotiate(SmbTransportImpl.java:524)
 at jcifs.smb.SmbTransportImpl.doConnect(SmbTransportImpl.java:673)
 at jcifs.util.transport.Transport.run(Transport.java:732)
 ... 1 more

com.vontu.discover.crawler.framework.RepositoryCrawler handleRepositoryException
SEVERE: Unknown Error.
com.vontu.discover.repository.RepositoryException: Unknown Error.
 at com.vontu.filesystemcrawler.ExceptionConverterImpl.createRepositoryException(ExceptionConverterImpl.java:164)
 at com.vontu.filesystemcrawler.ExceptionConverterImpl.convertSmbException(ExceptionConverterImpl.java:247)
 at com.vontu.filesystemcrawler.RootFileFactory.createRootFile(RootFileFactory.java:63)
 at com.vontu.filesystemcrawler.FileSystemContentRoot.open(FileSystemContentRoot.java:99)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.openContentRoot(RepositoryCrawler.java:837)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.crawlUserContentRoot(RepositoryCrawler.java:677)
 at com.vontu.discover.crawler.framework.RepositoryCrawler.crawl(RepositoryCrawler.java:518)
 at com.vontu.discover.crawler.framework.RepositoryCrawler$CrawlerThread.run(RepositoryCrawler.java:353)
Caused by: jcifs.smb.SmbException: Failed to connect: <hostname>/<ip address>
 at jcifs.smb.SmbTransportImpl.ensureConnected(SmbTransportImpl.java:656)
 at jcifs.smb.SmbTransportPoolImpl.getSmbTransport(SmbTransportPoolImpl.java:214)
 at jcifs.smb.SmbTransportPoolImpl.getSmbTransport(SmbTransportPoolImpl.java:1)
 at jcifs.smb.SmbTreeConnection.connectHost(SmbTreeConnection.java:560)
 at jcifs.smb.SmbTreeConnection.connectHost(SmbTreeConnection.java:484)
 at jcifs.smb.SmbTreeConnection.connect(SmbTreeConnection.java:460)
 at jcifs.smb.SmbTreeConnection.connectWrapException(SmbTreeConnection.java:421)
 at jcifs.smb.SmbFile.ensureTreeConnected(SmbFile.java:545)
 at jcifs.smb.SmbFile.exists(SmbFile.java:821)
 at com.vontu.filesystemcrawler.file.SmbFileAdapter.ensureExists(SmbFileAdapter.java:222)
 at com.vontu.filesystemcrawler.file.FileFactory.createFile(FileFactory.java:74)
 at com.vontu.filesystemcrawler.RootFileFactory.createRootFile(RootFileFactory.java:59)
 ... 5 more
Caused by: jcifs.util.transport.TransportException: java.io.IOException: transport closed in negotiate
 at jcifs.util.transport.Transport.run(Transport.java:759)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: transport closed in negotiate
 at jcifs.smb.SmbTransportImpl.negotiatePeek(SmbTransportImpl.java:580)
 at jcifs.smb.SmbTransportImpl.negotiate2(SmbTransportImpl.java:622)
 at jcifs.smb.SmbTransportImpl.negotiate(SmbTransportImpl.java:524)
 at jcifs.smb.SmbTransportImpl.doConnect(SmbTransportImpl.java:673)
 at jcifs.util.transport.Transport.run(Transport.java:732)
 ... 1 more

Environment

Network Discover on RHEL 7

Cause

This is caused by the JCIFS library treating the content root "//hostname/share" as a DFS root.

Resolution

On the Discover server, disable the DFS client in Jcifs.properties under /opt/Symantec/DataLossPrevention/DetectionServer/DLP VERSION/Protect/config/ by setting the following:

jcifs.smb.client.dfs.disabled=true