summaryrefslogtreecommitdiffabout
path: root/libkdepim/ksyncmanager.cpp
authorzautrix <zautrix>2005-02-23 22:51:41 (UTC)
committer zautrix <zautrix>2005-02-23 22:51:41 (UTC)
commita130c77b5c762131fb9ecb4cc96de52126b8c338 (patch) (unidiff)
tree655ecb4c1bb5e735a7d9a63104db8872367e84e9 /libkdepim/ksyncmanager.cpp
parent4a9bf75c2ef12a40be3aea1d147f3703aee48638 (diff)
downloadkdepimpi-a130c77b5c762131fb9ecb4cc96de52126b8c338.zip
kdepimpi-a130c77b5c762131fb9ecb4cc96de52126b8c338.tar.gz
kdepimpi-a130c77b5c762131fb9ecb4cc96de52126b8c338.tar.bz2
socket fix
Diffstat (limited to 'libkdepim/ksyncmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 08a263c..5214fe7 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1070,8 +1070,11 @@ void KSyncManager::syncPi()
1070void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1070void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1071{ 1071{
1072 //enum { success, errorW, errorR, quiet }; 1072 //enum { success, errorW, errorR, quiet };
1073 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) { 1073 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ) {
1074 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1074 if ( state == KCommandSocket::errorPW )
1075 mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
1076 else
1077 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1075 delete s; 1078 delete s;
1076 if ( state == KCommandSocket::errorR ) { 1079 if ( state == KCommandSocket::errorR ) {
1077 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); 1080 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget());
@@ -1201,6 +1204,15 @@ void KServerSocket::readClient()
1201 } 1204 }
1202 } 1205 }
1203} 1206}
1207void KServerSocket::error_connect()
1208{
1209 QTextStream os( mSocket );
1210 os.setEncoding( QTextStream::Latin1 );
1211 os << "ERROR_PW\r\n\r\n";
1212 mSocket->close();
1213 if ( mSocket->state() == QSocket::Idle )
1214 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1215}
1204void KServerSocket::end_connect() 1216void KServerSocket::end_connect()
1205{ 1217{
1206 delete mSyncActionDialog; 1218 delete mSyncActionDialog;
@@ -1351,6 +1363,7 @@ KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host,
1351 mPassWord = password; 1363 mPassWord = password;
1352 mSocket = 0; 1364 mSocket = 0;
1353 mFirst = false; 1365 mFirst = false;
1366 mFirstLine = true;
1354 mPort = port; 1367 mPort = port;
1355 mHost = host; 1368 mHost = host;
1356 tlw = cap; 1369 tlw = cap;
@@ -1448,6 +1461,7 @@ void KCommandSocket::startReadFileFromSocket()
1448 mTimerSocket->stop(); 1461 mTimerSocket->stop();
1449 mFileString = ""; 1462 mFileString = "";
1450 mTime.start(); 1463 mTime.start();
1464 mFirstLine = true;
1451 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 1465 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
1452 1466
1453} 1467}
@@ -1457,6 +1471,14 @@ void KCommandSocket::readFileFromSocket()
1457 while ( mSocket->canReadLine () ) { 1471 while ( mSocket->canReadLine () ) {
1458 mTime.restart(); 1472 mTime.restart();
1459 QString line = mSocket->readLine (); 1473 QString line = mSocket->readLine ();
1474 if ( mFirstLine ) {
1475 mFirstLine = false;
1476 if ( line.left( 8 ) == "ERROR_PW" ) {
1477 mRetVal = errorPW;
1478 deleteSocket();
1479 return ;
1480 }
1481 }
1460 mFileString += line; 1482 mFileString += line;
1461 //qDebug("readline: %s ", line.latin1()); 1483 //qDebug("readline: %s ", line.latin1());
1462 } 1484 }