<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Starting CIFS server (JLAN) with programmatic (non-XML) config in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309025#M262155</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Has anybody successfully run the JLAN CIFS server stand-alone, with all configuration done programmatically rather than via .properties, xml, files, etc?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There doesn't seem to be any documentation on this, and various things I have tried yield NullPointerExceptions deep from the bowels of the server.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The closest I got to a working config is below, which allowed connections, but after authenticating gave an error to the effect that there were no valid shares on this server. The code is a bit of a hacked-up mess, but because I couldn't find any documentation, and there isn't much Javadoc, it was the best I could do.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;DiskInterface disk = new JavaFileDiskDriver();&lt;BR /&gt;&lt;BR /&gt;ConfigElement configElement = new ConfigElement("", "") {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public ConfigElement getChild(String name) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ("LocalPath".equals(name)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return new ConfigElement("", "/tmp/cifs");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new IllegalArgumentException("Name " + name);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;DiskDeviceContext context = (DiskDeviceContext) disk.createContext("theContext", configElement);&amp;nbsp; // Should be static&lt;BR /&gt;&lt;BR /&gt;ServerConfiguration config = new ServerConfiguration("config");&lt;BR /&gt;&lt;BR /&gt;CIFSConfigSection cifs = new CIFSConfigSection(config);&lt;BR /&gt;cifs.setHostAnnouncer(false);&lt;BR /&gt;cifs.setNetBIOSSMB(false);&lt;BR /&gt;cifs.setNetBIOSDebug(true);&lt;BR /&gt;cifs.setTcpipSMB(true);&lt;BR /&gt;cifs.setTcpipSMBPort(5000);&lt;BR /&gt;cifs.setAuthenticator(new DefaultAuthenticator()); // Allows any user&lt;BR /&gt;cifs.setServerName("Test Server");&lt;BR /&gt;cifs.setDomainName("Test Domain");&lt;BR /&gt;&lt;BR /&gt;FilesystemsConfigSection filesystems = new FilesystemsConfigSection(config);&lt;BR /&gt;final DiskSharedDevice dev = new DiskSharedDevice("TheDisk", disk, context);&lt;BR /&gt;filesystems.addShare(dev);&lt;BR /&gt;&lt;BR /&gt;GlobalConfigSection global = new GlobalConfigSection(config);&lt;BR /&gt;&lt;BR /&gt;CoreServerConfigSection core = new CoreServerConfigSection(config);&lt;BR /&gt;core.setThreadPool(2, 8);&lt;BR /&gt;core.setMemoryPool(DefaultMemoryPoolBufSizes, DefaultMemoryPoolInitAlloc, DefaultMemoryPoolMaxAlloc);&lt;BR /&gt;&lt;BR /&gt;SecurityConfigSection security = new SecurityConfigSection(config);&lt;BR /&gt;security.setShareMapper(new DefaultShareMapper() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public SharedDeviceList getShareList(String host, SrvSession sess, boolean allShares) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SharedDeviceList list = new SharedDeviceList();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.addShare(dev);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return list;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;});&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Oct 2014 14:51:52 GMT</pubDate>
    <dc:creator>gubby</dc:creator>
    <dc:date>2014-10-22T14:51:52Z</dc:date>
    <item>
      <title>Starting CIFS server (JLAN) with programmatic (non-XML) config</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309025#M262155</link>
      <description>Has anybody successfully run the JLAN CIFS server stand-alone, with all configuration done programmatically rather than via .properties, xml, files, etc?There doesn't seem to be any documentation on this, and various things I have tried yield NullPointerExceptions deep from the bowels of the server.</description>
      <pubDate>Wed, 22 Oct 2014 14:51:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309025#M262155</guid>
      <dc:creator>gubby</dc:creator>
      <dc:date>2014-10-22T14:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Starting CIFS server (JLAN) with programmatic (non-XML) config</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309026#M262156</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The configuration of JLAN has always been tied into XML.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alfresco itself is an example of configuring JLAN programatically.&amp;nbsp;&amp;nbsp; We don't have any JLAN configuration files in alfresco. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Oct 2014 15:33:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309026#M262156</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2014-10-22T15:33:00Z</dc:date>
    </item>
    <item>
      <title>Re: Starting CIFS server (JLAN) with programmatic (non-XML) config</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309027#M262157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Could you perhaps assist me in writing a programmatic config? I need to be able to dynamically configure the server (share points, etc) - and don't want to write out to a .xml file and then read it back in.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there anything that stands out to you as obviously wrong with what I have done already, that would cause the 'no share points' error on OSX?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;James&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Oct 2014 16:10:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309027#M262157</guid>
      <dc:creator>gubby</dc:creator>
      <dc:date>2014-10-22T16:10:12Z</dc:date>
    </item>
    <item>
      <title>Re: Starting CIFS server (JLAN) with programmatic (non-XML) config</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309028#M262158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Occurs to me the log output might help:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;Starting server NetBIOS …&lt;BR /&gt;Starting server CIFS …&lt;BR /&gt;[SMB] CIFS Server JLANSRV starting&lt;BR /&gt;[SMB] Version 6.0.0, Java VM 25.20-b23, OS Mac OS X, version 10.9.4&lt;BR /&gt;[SMB] Using authenticator org.alfresco.jlan.server.auth.EnterpriseCifsAuthenticator, mode=USER&lt;BR /&gt;[SMB] Server timezone offset = 0hrs&lt;BR /&gt;NetBIOSNameServer setup error:java.net.BindException: Permission denied&lt;BR /&gt;[SMB] Dialects enabled = [DOS LANMAN 1.0,LANMAN1.0,DOS LANMAN 2.1,LM1.2X002,LANMAN2.1,NT LM 0.12]&lt;BR /&gt;[SMB] Shares:&lt;BR /&gt;[SMB]&amp;nbsp; [JLAN,DISK,,[/Users/james/IdeaProjects/.]] [/Users/james/IdeaProjects/.]&lt;BR /&gt;[SMB] Added NTServer flag to host announcement&lt;BR /&gt;[SMB] Binding TCP-SMB session handler to address : ALL&lt;BR /&gt;[SMB] Binding NetBIOS session handler to address : ALL&lt;BR /&gt;[SMB] Request handler CIFSRequestHandler_1 waiting for session …&lt;BR /&gt;[SMB] Listening for connections on [SMB,TCP-SMB,ALL:5000]&lt;BR /&gt;[SMB] Listening for connections on [SMB,NetBIOS,ALL:1139]&lt;BR /&gt;[SMB] Waiting for new connection …&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(at this point, I log in via cifs://localhost:5000/)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;[SMB] Connection from /0:0:0:0:0:0:0:1:55378, handler=[SMB,TCP-SMB,ALL:5000], sess=T1&lt;BR /&gt;[SMB] Register session with request handler, handler=CIFSRequestHandler_1, sess=T1&lt;BR /&gt;[SMB] Waiting for new connection …&lt;BR /&gt;[SMB] Connection from /127.0.0.1:55379, handler=[SMB,TCP-SMB,ALL:5000], sess=T2&lt;BR /&gt;[SMB] Waiting for new connection …&lt;BR /&gt;[SMB] Connection from /fe80:0:0:0:0:0:0:1%1:55380, handler=[SMB,TCP-SMB,ALL:5000], sess=T3&lt;BR /&gt;[SMB] Waiting for new connection …&lt;BR /&gt;[SMB] Connection from /0:0:0:0:0:0:0:1:55381, handler=[SMB,TCP-SMB,ALL:5000], sess=T4&lt;BR /&gt;[SMB] Waiting for new connection …&lt;BR /&gt;[SMB] Register session with request handler, handler=CIFSRequestHandler_1, sess=T2&lt;BR /&gt;[SMB] Register session with request handler, handler=CIFSRequestHandler_1, sess=T3&lt;BR /&gt;[SMB] Register session with request handler, handler=CIFSRequestHandler_1, sess=T4&lt;BR /&gt;Received null packet, closing session sess=T1, addr=0:0:0:0:0:0:0:1&lt;BR /&gt;Received null packet, closing session sess=T3, addr=fe80:0:0:0:0:0:0:1%1&lt;BR /&gt;[SMB] Closed session 1, sessions=3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Active sessions [[SMB] Closed session 3, sessions=2&lt;BR /&gt;4=0:0:0:0:0:0:0:1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Active sessions [3=fe80:0:0:0:0:0:0:1%1,4=0:0:0:0:0:0:0:1,2=127.0.0.1,]&lt;BR /&gt;2=127.0.0.1,]&lt;BR /&gt;Received null packet, closing session sess=T2, addr=127.0.0.1&lt;BR /&gt;[SMB] Closed session 2, sessions=1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Active sessions [4=0:0:0:0:0:0:0:1,]&lt;BR /&gt;[T4] Negotiated SMB dialect - NT LM 0.12&lt;BR /&gt;[T4] Assigned protocol handler - org.alfresco.jlan.smb.server.NTProtocolHandler&lt;BR /&gt;[SMB] NT Session setup NTLMSSP, MID=1, UID=0, PID=1&lt;BR /&gt;[SMB] Two stage logon (NTLMSSP)&lt;BR /&gt;[SMB] NT Session setup NTLMSSP, MID=2, UID=65535, PID=1&lt;BR /&gt;[SMB] Logged on using NTLMSSP/NTLMv2&lt;BR /&gt;[SMB] User normal logged on&amp;nbsp; (type Normal)&lt;BR /&gt;[SMB] Allocated UID=1 for VC=[276:1,[normal:null,Mac OS X 10.9,SMBFS 2.0.2,0:0:0:0:0:0:0:1,Normal],Tree=0,Searches=0]&lt;BR /&gt;[T4] NT Tree Connect AndX - \\localhost\IPC$, ?????, flags=ExtResponse/0x8&lt;BR /&gt;[T4] Tree Connect AndX - Allocated Tree Id = 1, Permission = Writeable, extendedResponse=true&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Oct 2014 20:12:46 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/starting-cifs-server-jlan-with-programmatic-non-xml-config/m-p/309028#M262158</guid>
      <dc:creator>gubby</dc:creator>
      <dc:date>2014-10-22T20:12:46Z</dc:date>
    </item>
  </channel>
</rss>

