[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