[jcifs] Failures due to SmbException.NT_STATUS_ACCESS_VIOLATION

Michael B Allen mba2000 at ioplex.com
Wed Apr 13 03:25:57 GMT 2005


On Tue, 12 Apr 2005 15:06:38 -0500
"Christensen, Scott M" <SCHRIST1 at amfam.com> wrote:

> JCIFS 1.1.8 single signon in our application has been sporadically
> failing due to SmbException.NT_STATUS_ACCESS_VIOLATION errors and it
> looks like the only place that this can occur is in the
> SmbComSessionSetupAndX class.  I was wondering if I could get more
> information about what this error means.  What is required for this
> error to happen?  I would appreciate any help you can give.

Unlike all other NT_STATUS_ errors this one is NOT being returned by the
server. It is being artificially thrown by the jCIFS client. If you look
at where this is happening you have:

  if( auth.hashesExternal &&
        auth.challenge != session.transport.server.encryptionKey ) {
    throw new SmbAuthException( SmbException.NT_STATUS_ACCESS_VIOLATION );
  }

What this is saying is "if the password hashes were supplied externally
(i.e. they were generated by IE b/c NTLM HTTP Authentication was
used) and the server challenge used to salt the password no longer
matches the challenge of the server to which we are connected then the
password hashes are no longer valid and we should throw an error as the
authentication cannot possibly succeed". I think we used to have a bug
where the transport could become disconnected while in the middle of
negotiating. But I thought that was fixed long ago. Make sure you're
really using the version you think you are. Check your classpath and
hunt down old jcifs.jar files.

Mike

-- 
IRC - where men are men, women are men, and the boys are FBI agents.


More information about the jcifs mailing list