Index: trunk/BNC/src/upload/bncuploadcaster.cpp
===================================================================
--- trunk/BNC/src/upload/bncuploadcaster.cpp	(revision 11126)
+++ trunk/BNC/src/upload/bncuploadcaster.cpp	(revision 11128)
@@ -24,4 +24,12 @@
 
 using namespace std;
+
+// Status line of the caster/proxy answer is "HTTP/1.x 200 ..." or "ICY 200 OK"
+////////////////////////////////////////////////////////////////////////////
+static bool statusOk(const QByteArray& ans) {
+  QList<QByteArray> status = ans.left(ans.indexOf("\r\n")).split(' ');
+  return status.size() >= 2 && status[1] == "200" &&
+         (status[0].startsWith("HTTP/") || status[0] == "ICY");
+}
 
 // Constructor
@@ -284,5 +292,5 @@
 
       QByteArray ans = _outSocket->readAll();
-      if (ans.indexOf("200") == -1) {
+      if (!statusOk(ans)) {
         int l = ans.indexOf("\r\n", 0);
         emit(newMessage("Proxy: Connection broken for " + _mountpoint.toLatin1() + "@" +
@@ -331,5 +339,5 @@
    QByteArray ans = _outSocket->readAll();
 
-  if (ans.indexOf("200") == -1) {
+  if (!statusOk(ans)) {
     delete _outSocket; _outSocket = 0;
     int l = ans.indexOf("\r\n", 0);
