Alfresco,I'm upgrading from 1.3.2 Enterprise to 1.4.0 Enterprise on a RedHat 4 Enterprise Linux server. I choose for the full package so a complete new Tomcat installation (not only deploying the new WAR file). CIFS worked fine in 1.3.2 in our setup where we used passthru with Active Directory.Now, in 1.4.0 I tried to copy the settings I had in my file-servers-custom.xml file in 1.3.2 to enable CIFS with AD passthru: <config evaluator="string-compare" condition="CIFS Server">
<host name="alfrescotest" domain="comp"/>
<comment>Alfresco Alhambra CIFS Server</comment>
<!– Set to the broadcast mask for the subnet –>
<broadcast>132.158.55.255</broadcast>
<!– Use Java socket based NetBIOS over TCP/IP and native SMB on linux –>
<tcpipSMB platforms="linux,solaris,macosx"/>
<netBIOSSMB platforms="linux,solaris,macosx"/>
<hostAnnounce interval="5"/>
<!– Use Win32 NetBIOS interface on Windows –>
<Win32NetBIOS/>
<Win32Announce interval="5"/>
<sessionDebug flags="Negotiate,Socket"/>
</config>
… some other settings …
<config evaluator="string-compare" condition="Filesystem Security">
<authenticator type="passthru">
<Server>ldapserv</Server>
</authenticator>
</config>
This doesn't work. I get the following error when I try to connect with Windows and the client says "Network resource no longer available" after I gave the correct credentials (it keeps asking my username and password when I enter the wrong credentials so it seems authorization works).12:06:24,609 ERROR [org.alfresco.smb.protocol] Closing session due to exception
java.lang.NullPointerException
at org.alfresco.repo.security.authentication.AbstractAuthenticationComponent.
setCurrentAuthentication(AbstractAuthenticationComponent.java:137)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
at $Proxy16.setCurrentAuthentication(Unknown Source)
at org.alfresco.filesys.server.auth.CifsAuthenticator.setCurrentUser(CifsAuthenticator.java:955)
at org.alfresco.filesys.smb.server.SMBSrvSession.findVirtualCircuit(SMBSrvSession.java:287)
at org.alfresco.filesys.smb.server.NTProtocolHandler.procChainedTreeConnectAndX(NTProtocolHandler.java:584)
at org.alfresco.filesys.smb.server.NTProtocolHandler.procAndXCommands(NTProtocolHandler.java:505)
at org.alfresco.filesys.smb.server.NTProtocolHandler.procAndXCommands(NTProtocolHandler.java:458)
at org.alfresco.filesys.smb.server.NTProtocolHandler.procSessionSetup(NTProtocolHandler.java:418)
at org.alfresco.filesys.smb.server.NTProtocolHandler.runProtocol(NTProtocolHandler.java:213)
at org.alfresco.filesys.smb.server.SMBSrvSession.run(SMBSrvSession.java:1334)
at java.lang.Thread.run(Thread.java:595)
And now comes the magic… When I enable one or both of the following options in the log4j file CIFS works!log4j.logger.org.alfresco.smb.protocol=debug
log4j.logger.org.alfresco.smb.protocol.auth=debug
I don't know why or how but with debugging turned on it goes fine?! Any idea how to solve this?