[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kioslave/ldap
From: Szombathelyi György <gyurco () freemail ! hu>
Date: 2004-04-17 18:51:30
Message-ID: 20040417185130.0DE009A4E () office ! kde ! org
[Download RAW message or body]
CVS commit by gyurco:
Setting sizelimit and timelimit implemented
M +36 -6 kio_ldap.cpp 1.35
M +1 -1 kio_ldap.h 1.14
--- kdebase/kioslave/ldap/kio_ldap.cpp #1.34:1.35
@@ -66,4 +66,5 @@ LDAPProtocol::LDAPProtocol( const QCStri
mLDAP = 0; mTLS = 0; mVer = 3; mAuthSASL = false;
mRealm = ""; mBaseName = "";
+ mTimeLimit = mSizeLimit = 0;
kdDebug(7125) << "LDAPProtocol::LDAPProtocol (" << protocol << ")" << endl;
}
@@ -372,9 +373,16 @@ void LDAPProtocol::changeCheck( const LD
if ( url.hasExtension( "basename" ) )
basename = url.extension( "basename", critical).upper();
+ int timelimit = 0;
+ if ( url.hasExtension( "x-timelimit" ) )
+ timelimit = url.extension( "x-timelimit", critical).toInt();
+ int sizelimit = 0;
+ if ( url.hasExtension( "x-sizelimit" ) )
+ sizelimit = url.extension( "x-sizelimit", critical).toInt();
if ( !authSASL && basename.isEmpty() ) basename = mUser;
if ( tls != mTLS || ver != mVer || authSASL != mAuthSASL || mech != mMech ||
- mRealm != realm || mBaseName != basename ) {
+ mRealm != realm || mBaseName != basename || mTimeLimit != timelimit ||
+ mSizeLimit != sizelimit ) {
closeConnection();
mTLS = tls;
@@ -384,4 +392,6 @@ void LDAPProtocol::changeCheck( const LD
mRealm = realm;
mBaseName = basename;
+ mTimeLimit = timelimit;
+ mSizeLimit = sizelimit;
kdDebug(7125) << "parameters changed: tls = " << mTLS <<
" version: " << mVer << "SASLauth: " << mAuthSASL << endl;
@@ -469,5 +479,4 @@ static int kldap_sasl_interact( LDAP *,
void LDAPProtocol::openConnection()
{
-
if ( mLDAP ) return;
@@ -535,4 +544,24 @@ void LDAPProtocol::openConnection()
}
+ if ( mSizeLimit ) {
+ kdDebug(7125) << "sizelimit: " << mSizeLimit << endl;
+ if ( ldap_set_option( mLDAP, LDAP_OPT_SIZELIMIT, &mSizeLimit ) != LDAP_SUCCESS ) {
+ closeConnection();
+ error( ERR_UNSUPPORTED_ACTION,
+ i18n("Cannot set size limit!").arg(version) );
+ return;
+ }
+ }
+
+ if ( mTimeLimit ) {
+ kdDebug(7125) << "timelimit: " << mTimeLimit << endl;
+ if ( ldap_set_option( mLDAP, LDAP_OPT_TIMELIMIT, &mTimeLimit ) != LDAP_SUCCESS ) {
+ closeConnection();
+ error( ERR_UNSUPPORTED_ACTION,
+ i18n("Cannot set time limit!").arg(version) );
+ return;
+ }
+ }
+
bool auth = false;
bool firstauth = true;
@@ -649,9 +678,10 @@ void LDAPProtocol::get( const KURL &_url
result = LDAPEntryAsLDIF(entry);
result += '\n';
- processed_size += result.length();
- array.setRawData( result.data(), result.length() );
+ uint len = result.length();
+ processed_size += len;
+ array.setRawData( result.data(), len );
data(array);
processedSize( processed_size );
- array.resetRawData( result.data(), result.length() );
+ array.resetRawData( result.data(), len );
entry = ldap_next_entry( mLDAP, entry );
--- kdebase/kioslave/ldap/kio_ldap.h #1.13:1.14
@@ -35,5 +35,5 @@ class LDAPProtocol : public KIO::SlaveBa
QString mPassword;
LDAP *mLDAP;
- int mVer;
+ int mVer, mSizeLimit, mTimeLimit;
bool mTLS;
bool mAuthSASL;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic