[jcifs] Invalid state: 4

Michael B Allen mba2000 at ioplex.com
Wed Feb 21 16:55:23 GMT 2007


JCIFS does smb signing fine. You just need "preauthentication
credentials". See the NTLM HTTP Filter doc.

Mike

On Wed, 21 Feb 2007 05:03:06 -0800 (PST)
jey <j.eyre at esri-germany.de> wrote:

> 
> Hi,
> 
> I finally got it to work. i just had to turn off the SMB Security Signatures
> in windows 2003. I did this by following the instructions under - 
> http://www.isaserver.org/tutorials/Windows-Server-2003-Security-Configuration-Wizard-Harden-ISA-Firewall.html
> http://www.isaserver.org/tutorials/Windows-Server-2003-Security-Configuration-Wizard-Harden-ISA-Firewall.html 
> 
> Jamie
> 
> 
> Michael B Allen wrote:
> > 
> > On Tue, 20 Feb 2007 10:08:39 -0800 (PST)
> > jey <j.eyre at esri-germany.de> wrote:
> > 
> >> 
> >> Hi,
> >>   I forgot to say that i am using windows 20003 server and tomcat 5.5.17.
> >> The jcifs.http.domainController value "croma" is the actual server where
> >> tomcat itself is running.
> >> When i use this server name, then i get the described problem.
> >> If i use another windows 2000 server, the authentication works.
> > 
> > Looks like a basic network issue AFAICT.
> > 
> > The "invalid state: 4" is just an artifact of the network issue but
> > it's not supposed to happen so I'll add this to The List for further
> > investigation later.
> > 
> > Mike
> > 
> >> jey wrote:
> >> > 
> >> > I get the following error when using jcifs:
> >> > 
> >> > jcifs.smb.SmbException: 
> >> > jcifs.util.transport.TransportException
> >> > java.io.IOException: Failed to establish session with
> >> croma/172.28.133.101
> >> > 	at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:220)
> >> > 	at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:237)
> >> > 	at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:302)
> >> > 	at jcifs.util.transport.Transport.run(Transport.java:240)
> >> > 	at java.lang.Thread.run(Thread.java:595)
> >> > 
> >> > 	at jcifs.util.transport.Transport.run(Transport.java:256)
> >> > 	at java.lang.Thread.run(Thread.java:595)
> >> > 
> >> > 	jcifs.smb.SmbTransport.connect(SmbTransport.java:289)
> >> > 	jcifs.smb.SmbSession.getChallenge(SmbSession.java:146)
> >> > 	jcifs.smb.SmbSession.getChallenge(SmbSession.java:140)
> >> > 	jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:157)
> >> > 	jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
> >> > 
> >> > This is logged in the log file:
> >> > 
> >> >
> >> NameQueryRequest[nameTrnId=6,isResponse=false,opCode=QUERY,isAuthAnswer=false,isTruncated=false,isRecurAvailable=false,isRecurDesired=true,isBroadcast=true,resultCode=0,questionCount=1,answerCount=0,authorityCount=0,additionalCount=0,questionName=CROMA<20>,questionType=0x0020,questionClass=IN,recordName=null,recordType=0x0000,recordClass=0x0000,ttl=0,rDataLength=0]
> >> > 00000: 00 06 01 10 00 01 00 00 00 00 00 00 20 45 44 46  |............
> >> EDF|
> >> > 00010: 43 45 50 45 4E 45 42 43 41 43 41 43 41 43 41 43 
> >> |CEPENEBCACACACAC|
> >> > 00020: 41 43 41 43 41 43 41 43 41 43 41 43 41 00 00 20 
> >> |ACACACACACACA.. |
> >> > 00030: 00 01                                            |..             
> >> |
> >> > 
> >> > Invalid state: 4
> >> > 
> >> > 
> >> > This is my web.xml:
> >> > 	<filter>
> >> > 		<filter-name>NtlmHttpFilter</filter-name>
> >> > 		<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.http.domainController</param-name>
> >> > 			<param-value>croma</param-value>
> >> > 		</init-param>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.http.loadBalance</param-name>
> >> > 			<param-value>false</param-value>
> >> > 		</init-param>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.netbios.lookupRespLimit</param-name>
> >> > 			<param-value>1</param-value>
> >> > 		</init-param>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.netbios.wins</param-name>
> >> > 			<param-value>merkur</param-value>
> >> > 		</init-param>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.smb.client.domain</param-name>
> >> > 			<param-value>TEST.ESRI-DE</param-value>
> >> > 		</init-param>
> >> > 		<init-param>
> >> > 			<param-name>jcifs.util.loglevel</param-name>
> >> > 			<param-value>6</param-value>
> >> > 		</init-param>
> >> > 	</filter>
> >> > 	<filter-mapping>
> >> > 		<filter-name>NtlmHttpFilter</filter-name>
> >> > 		<url-pattern>/sso2.jsp</url-pattern>
> >> > 	</filter-mapping>
> >> > 
> >> > 
> >> > If I set the jcifs.http.domainController to another server in the
> >> network,
> >> > it works fine.
> >> > 
> >> > Any ideas what could be wrong?
> >> > 
> >> > I am using jcifs-1.2.13.jar
> >> > 
> >> > Thanks,
> >> > Jamie
> >> > 
> >> 
> >> -- 
> >> View this message in context:
> >> http://www.nabble.com/Invalid-state%3A-4-tf3262272.html#a9067233
> >> Sent from the Samba - jcifs mailing list archive at Nabble.com.
> >> 
> > 
> > 
> > -- 
> > Michael B Allen
> > PHP Active Directory SSO
> > http://www.ioplex.com/
> > 
> > 
> 
> -- 
> View this message in context: http://www.nabble.com/Invalid-state%3A-4-tf3262272.html#a9080467
> Sent from the Samba - jcifs mailing list archive at Nabble.com.
> 


-- 
Michael B Allen
PHP Active Directory SSO
http://www.ioplex.com/


More information about the jcifs mailing list