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) (side-by-side diff)
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
@@ -1071,6 +1071,9 @@ void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
{
//enum { success, errorW, errorR, quiet };
- if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) {
- mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
+ if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW ) {
+ if ( state == KCommandSocket::errorPW )
+ mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") );
+ else
+ mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
delete s;
if ( state == KCommandSocket::errorR ) {
@@ -1202,4 +1205,13 @@ void KServerSocket::readClient()
}
}
+void KServerSocket::error_connect()
+{
+ QTextStream os( mSocket );
+ os.setEncoding( QTextStream::Latin1 );
+ os << "ERROR_PW\r\n\r\n";
+ mSocket->close();
+ if ( mSocket->state() == QSocket::Idle )
+ QTimer::singleShot( 10, this , SLOT ( discardClient()));
+}
void KServerSocket::end_connect()
{
@@ -1352,4 +1364,5 @@ KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host,
mSocket = 0;
mFirst = false;
+ mFirstLine = true;
mPort = port;
mHost = host;
@@ -1449,4 +1462,5 @@ void KCommandSocket::startReadFileFromSocket()
mFileString = "";
mTime.start();
+ mFirstLine = true;
QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
@@ -1458,4 +1472,12 @@ void KCommandSocket::readFileFromSocket()
mTime.restart();
QString line = mSocket->readLine ();
+ if ( mFirstLine ) {
+ mFirstLine = false;
+ if ( line.left( 8 ) == "ERROR_PW" ) {
+ mRetVal = errorPW;
+ deleteSocket();
+ return ;
+ }
+ }
mFileString += line;
//qDebug("readline: %s ", line.latin1());