Index: trunk/BNC/src/upload/bncuploadcaster.cpp
===================================================================
--- trunk/BNC/src/upload/bncuploadcaster.cpp	(revision 9729)
+++ trunk/BNC/src/upload/bncuploadcaster.cpp	(revision 9730)
@@ -234,9 +234,12 @@
   connect(_outSocket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(slotSslErrors(QList<QSslError>)));
 
-  if (_proxy) {
+  if (!_proxy) {
+    if (!connectToHost(_casterOutHost, _casterOutPort, _secure)) {
+      return;
+    }
+  } else {
     if (_ntripVersion == "1") {
       emit(newMessage("No proxy support in Ntrip Version 1 upload!", true));
-      delete _outSocket;
-      _outSocket=0;
+      _outSocket->close();
       return;
     }
@@ -274,5 +277,5 @@
         if (!_outSocket->waitForEncrypted(timeOut)) {
           emit(newMessage(
-              "Proxy: Encrypt timeout for " + _mountpoint.toLatin1() + " ("
+              "Proxy/Caster: Encrypt timeout for " + _mountpoint.toLatin1() + " ("
                   + _casterOutHost.toLatin1() + ":"
                   + QString("%1) ").arg(_casterOutPort).toLatin1()
@@ -284,8 +287,4 @@
       }
     }
-  } else {
-    if (!connectToHost(_casterOutHost, _casterOutPort, _secure)) {
-      return;
-    }
   }
 
@@ -306,5 +305,8 @@
   _outSocket->waitForReadyRead();
 
-  QByteArray ans = _outSocket->readLine();  cout << "ans: " << ans.toStdString().c_str() << endl;
+   QByteArray ans = "";
+  if (_outSocket->canReadLine()) {
+    ans = _outSocket->readLine();  cout << "ans: " << ans.toStdString().c_str() << endl;
+  }
 
   if (ans.indexOf("200") == -1) {
@@ -333,6 +335,4 @@
               + QString("%1) ").arg(outPort).toLatin1()
               + _outSocket->errorString().toLatin1(), true));
-      //delete _outSocket;
-      //_outSocket=0;
       return false;
     } else {
@@ -347,6 +347,4 @@
               + QString("%1) ").arg(outPort).toLatin1()
               + _outSocket->errorString().toLatin1(), true));
-      //delete _outSocket;
-      //_outSocket=0;
       return false;
     }
