In case http tracker gets HTTP Error (like 403 Forbidden if someone forgot to pay for domain or 503 Server error) KTorrent displays "Invalid data from tracker" error string. This is misleading and not helping to detect real roots of the problem. I think it'll be better to display HTTP error code instead of this. For ex, "Error: HTTP 403"
"Invalid data from tracker" error message is generated because KTransferrJob's error is 0 while replyData contains some valid HTML like
<html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> </body> </html>
But our case still can be detected with KTransferJob::IsErrorPage() == true and it's metadata contains HTTP error code at "responsecode" key. So we don't need to parse the reply.
Was:
Now: