synchronized SmbSession getSmbSession( NtlmPasswordAuthentication auth ) { SmbSession ssn; long now; ListIterator iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.matches( auth )) { ssn.auth = auth; return ssn; } } /* logoff old sessions */ if (SO_TIMEOUT > 0 && sessionExpiration < (now = System.currentTimeMillis())) { sessionExpiration = now + SO_TIMEOUT; iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.expiration < now ) { ssn.logoff( false ); } } } ssn = new SmbSession( address, port, localAddr, localPort, auth ); ssn.transport = this; sessions.add( ssn ); return ssn; } boolean matches( UniAddress address, int port, InetAddress localAddr, int localPort, String hostName ) {
synchronized SmbSession getSmbSession( NtlmPasswordAuthentication auth ) { SmbSession ssn; long now; ListIterator iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.matches( auth )) { ssn.auth = auth; return ssn; } } /* logoff old sessions */ if (SO_TIMEOUT > 0 && sessionExpiration < (now = System.currentTimeMillis())) { sessionExpiration = now + SO_TIMEOUT; iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.expiration < now ) { ssn.logoff( false ); } } } ssn = new SmbSession( address, port, localAddr, localPort, auth ); ssn.transport = this; sessions.add( ssn ); return ssn; } boolean matches( UniAddress address, int port, InetAddress localAddr, int localPort, String hostName ) {
synchronized SmbSession getSmbSession(SmbExtendedAuthenticator authenticator, NtlmPasswordAuthentication auth) { // SmbAuthenticator<< SmbSession ssn; long now; ListIterator iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); // >>SmbAuthenticator // if( ssn.matches( auth )) { // ssn.auth = auth; // return ssn; // } if (ssn.matches(authenticator, auth)) { ssn.authenticator = authenticator; ssn.auth = auth; return ssn; } // SmbAuthenticator<< } /* logoff old sessions */ if (SO_TIMEOUT > 0 && sessionExpiration < (now = System.currentTimeMillis())) { sessionExpiration = now + SO_TIMEOUT; iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.expiration < now ) { ssn.logoff( false );
synchronized SmbSession getSmbSession( NtlmPasswordAuthentication auth ) { SmbSession ssn; long now; ListIterator iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.matches( auth )) { ssn.auth = auth; return ssn; } } /* logoff old sessions */ if (SO_TIMEOUT > 0 && sessionExpiration < (now = System.currentTimeMillis())) { sessionExpiration = now + SO_TIMEOUT; iter = sessions.listIterator(); while( iter.hasNext() ) { ssn = (SmbSession)iter.next(); if( ssn.expiration < now ) { ssn.logoff( false ); } } } ssn = new SmbSession( address, port, localAddr, localPort, auth ); ssn.transport = this; sessions.add( ssn ); return ssn; } boolean matches( UniAddress address, int port, InetAddress localAddr, int localPort, String hostName ) {
DfsReferral[] __getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
DfsReferral[] __getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
DfsReferral[] __getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
SmbTree ipc = getSmbSession(authenticator, auth).getSmbTree("IPC$", null);
private static NtlmChallenge interrogate( NbtAddress addr ) throws SmbException { UniAddress dc = new UniAddress( addr ); SmbTransport trans = SmbTransport.getSmbTransport( dc, 0 ); if (USERNAME == null) { trans.connect(); if (SmbTransport.log.level >= 3) SmbTransport.log.println( "Default credentials (jcifs.smb.client.username/password)" + " not specified. SMB signing may not work propertly." + " Skipping DC interrogation." ); } else { SmbSession ssn = trans.getSmbSession( NtlmPasswordAuthentication.DEFAULT ); ssn.getSmbTree( LOGON_SHARE, null ).treeConnect( null, null ); } return new NtlmChallenge( trans.server.encryptionKey, dc ); } public static NtlmChallenge getChallengeForDomain()
DfsReferral getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
DfsReferral getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
public static void logon( UniAddress dc, int port, NtlmPasswordAuthentication auth ) throws SmbException { SmbTree tree = SmbTransport.getSmbTransport( dc, port ).getSmbSession( auth ).getSmbTree( LOGON_SHARE, null ); if( LOGON_SHARE == null ) { tree.treeConnect( null, null ); } else { Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY ); Trans2FindFirst2Response resp = new Trans2FindFirst2Response(); tree.send( req, resp ); } }
public static void logon( UniAddress dc, int port, NtlmPasswordAuthentication auth ) throws SmbException { SmbTree tree = SmbTransport.getSmbTransport( dc, port ).getSmbSession( auth ).getSmbTree( LOGON_SHARE, null ); if( LOGON_SHARE == null ) { tree.treeConnect( null, null ); } else { Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY ); Trans2FindFirst2Response resp = new Trans2FindFirst2Response(); tree.send( req, resp ); } }
SmbTree ipc = getSmbSession(authenticator, auth).getSmbTree("IPC$", null);
DfsReferral getDfsReferrals(NtlmPasswordAuthentication auth, String path, int rn) throws SmbException { SmbTree ipc = getSmbSession( auth ).getSmbTree( "IPC$", null ); Trans2GetDfsReferralResponse resp = new Trans2GetDfsReferralResponse(); ipc.send( new Trans2GetDfsReferral( path ), resp );
public static void logon( UniAddress dc, int port, NtlmPasswordAuthentication auth ) throws SmbException { SmbTree tree = SmbTransport.getSmbTransport( dc, port ).getSmbSession( auth ).getSmbTree( LOGON_SHARE, null ); if( LOGON_SHARE == null ) { tree.treeConnect( null, null ); } else { Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY ); Trans2FindFirst2Response resp = new Trans2FindFirst2Response(); tree.send( req, resp ); } }
public static void logon( UniAddress dc, int port, NtlmPasswordAuthentication auth ) throws SmbException { SmbTree tree = SmbTransport.getSmbTransport( dc, port ).getSmbSession( auth ).getSmbTree( LOGON_SHARE, null ); if( LOGON_SHARE == null ) { tree.treeConnect( null, null ); } else { Trans2FindFirst2 req = new Trans2FindFirst2( "\\", "*", SmbFile.ATTR_DIRECTORY ); Trans2FindFirst2Response resp = new Trans2FindFirst2Response(); tree.send( req, resp ); } }
private static NtlmChallenge interrogate( NbtAddress addr ) throws SmbException { UniAddress dc = new UniAddress( addr ); SmbTransport trans = SmbTransport.getSmbTransport( dc, 0 ); if (USERNAME == null) { trans.connect(); if (SmbTransport.log.level >= 3) SmbTransport.log.println( "Default credentials (jcifs.smb.client.username/password)" + " not specified. SMB signing may not work propertly." + " Skipping DC interrogation." ); } else { SmbSession ssn = trans.getSmbSession( NtlmPasswordAuthentication.DEFAULT ); ssn.getSmbTree( LOGON_SHARE, null ).treeConnect( null, null ); } return new NtlmChallenge( trans.server.encryptionKey, dc ); } public static NtlmChallenge getChallengeForDomain()
private static NtlmChallenge interrogate( NbtAddress addr ) throws SmbException { UniAddress dc = new UniAddress( addr ); SmbTransport trans = SmbTransport.getSmbTransport( dc, 0 ); if (USERNAME == null) { trans.connect(); if (SmbTransport.log.level >= 3) SmbTransport.log.println( "Default credentials (jcifs.smb.client.username/password)" + " not specified. SMB signing may not work propertly." + " Skipping DC interrogation." ); } else { SmbSession ssn = trans.getSmbSession( NtlmPasswordAuthentication.DEFAULT ); ssn.getSmbTree( LOGON_SHARE, null ).treeConnect( null, null ); } return new NtlmChallenge( trans.server.encryptionKey, dc ); } public static NtlmChallenge getChallengeForDomain()
private static NtlmChallenge interrogate( NbtAddress addr ) throws SmbException { UniAddress dc = new UniAddress( addr ); SmbTransport trans = SmbTransport.getSmbTransport( dc, 0 ); if (USERNAME == null) { trans.connect(); if (SmbTransport.log.level >= 3) SmbTransport.log.println( "Default credentials (jcifs.smb.client.username/password)" + " not specified. SMB signing may not work propertly." + " Skipping DC interrogation." ); } else { SmbSession ssn = trans.getSmbSession( NtlmPasswordAuthentication.DEFAULT ); ssn.getSmbTree( LOGON_SHARE, null ).treeConnect( null, null ); } return new NtlmChallenge( trans.server.encryptionKey, dc ); } public static NtlmChallenge getChallengeForDomain()