[jcifs] JCIFS Pops up dialog box for Authenticating certain users
Kevin Tapperson
kevin at tapperson.net
Mon Jul 14 11:33:11 GMT 2008
Skipped content of type multipart/alternative-------------- next part --------------
>diff jcifs_1.1.11\src\jcifs\smb\SmbSession.java workspace\jcifs\source\jcifs\smb\SmbSession.java
83a84
> trans.incrementReferenceCount(); //KGT
136a138
> trans.incrementReferenceCount(); //KGT
158,164c160,170
< if( LOGON_SHARE == null ) {
< tree.treeConnect( null, null );
< } else {
< Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY );
< Trans2FindFirst2Response resp = new Trans2FindFirst2Response();
< tree.sendTransaction( req, resp );
< }
---
> try { //KGT
> if( LOGON_SHARE == null ) {
> tree.treeConnect( null, null );
> } else {
> Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY );
> Trans2FindFirst2Response resp = new Trans2FindFirst2Response();
> tree.sendTransaction( req, resp );
> }
> } finally { //KGT
> tree.session.transport.decrementReferenceCount(); //KGT
> } //KGT
>diff jcifs_1.1.11\src\jcifs\smb\SmbTransport.java workspace\jcifs\source\jcifs\smb\SmbTransport.java
42a43
> import java.util.Iterator;
124a126,127
> private int refCount = 0; //KGT
>
167c170,171
< LinkedList sessions;
---
> //KGT LinkedList sessions;
> HashMap sessions; //KGT
201c205,206
< sessions = new LinkedList();
---
> //KGT sessions = new LinkedList();
> sessions = new HashMap(); //KGT
220,227c225,237
< ListIterator iter = sessions.listIterator();
< while( iter.hasNext() ) {
< ssn = (SmbSession)iter.next();
< if( ssn.matches( auth )) {
< ssn.auth = auth;
< return ssn;
< }
< }
---
> //KGT ListIterator iter = sessions.listIterator();
> //KGT while( iter.hasNext() ) {
> //KGT ssn = (SmbSession)iter.next();
> //KGT if( ssn.matches( auth )) {
> //KGT ssn.auth = auth;
> //KGT return ssn;
> //KGT }
> //KGT }
> ssn = (SmbSession)sessions.get( auth ); //KGT
> if( ssn != null ) { //KGT
> ssn.auth = auth; //KGT
> return ssn; //KGT
> } //KGT
233c243,244
< iter = sessions.listIterator();
---
> //KGT iter = sessions.listIterator();
> Iterator iter = sessions.values().iterator(); //KGT
245c256,257
< sessions.add( ssn );
---
> //KGT sessions.add( ssn );
> sessions.put( auth, ssn ); //KGT
283c295,296
< ListIterator iter = sessions.listIterator();
---
> //KGT ListIterator iter = sessions.listIterator();
> Iterator iter = sessions.values().iterator(); //KGT
506c519,524
< tryClose( false );
---
> if( refCount == 0 ) { //KGT
> tryClose( false );
> } else if( log.level > 1 ) { //KGT
> log.println( "soTimeout has occured but there are " + //KGT
> refCount + " references to this transport socket" ); //KGT
> } //KGT
523a542,549
> synchronized void incrementReferenceCount() { //KGT
> refCount++; //KGT
> } //KGT
>
> synchronized void decrementReferenceCount() { //KGT
> refCount--; //KGT
> } //KGT
>
>diff jcifs_1.1.11\src\jcifs\ntlmssp\Type3Message.java workspace\jcifs\source\jcifs\ntlmssp\Type3Message.java
573,574c573,577
< // NTLMv2 issues w/cross-domain authentication; leave NT empty if >= 3
< if (LM_COMPATIBILITY < 3) setNTResponse(ntResponse);
---
> //KGT // NTLMv2 issues w/cross-domain authentication; leave NT empty if >= 3
> //KGT if (LM_COMPATIBILITY < 3) setNTResponse(ntResponse);
> // NTLMv2 issues w/cross-domain authentication; leave NT empty if NTLMv2 was sent by the client
> // NTLM response will always be 24 bytes; NTLMv2 response will always be longer
> if (ntResponse.length == 24) setNTResponse(ntResponse); //KGT
More information about the jcifs
mailing list