diff --git a/src/tracker/tracker_http.cc b/src/tracker/tracker_http.cc index eefe5a17c..1d0accd19 100644 --- a/src/tracker/tracker_http.cc +++ b/src/tracker/tracker_http.cc @@ -303,6 +303,17 @@ TrackerHttp::receive_done() { std::string("failure reason not a string")) + "\""); + if (b.has_key("warning message") && b.get_key("warning message").is_string()){ + + std::string msg=b.get_key_string("warning message"); + + if ( (msg.find(" not registered")!=std::string::npos) || + (msg.find("unregistered")!=std::string::npos) || + (msg.find("torrent cannot be found")!=std::string::npos) ) + + return receive_failed("Warning message \"" + msg + "\""); + } + if (m_latest_event == EVENT_SCRAPE) process_scrape(b); else