|
@@ -83,6 +83,7 @@ SharedHandle<LpdMessage> LpdMessageReceiver::receiveMessage()
|
|
HttpHeaderProcessor proc;
|
|
HttpHeaderProcessor proc;
|
|
proc.update(buf, length);
|
|
proc.update(buf, length);
|
|
if(!proc.eoh()) {
|
|
if(!proc.eoh()) {
|
|
|
|
+ msg.reset(new LpdMessage());
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
SharedHandle<HttpHeader> header = proc.getHttpRequestHeader();
|
|
SharedHandle<HttpHeader> header = proc.getHttpRequestHeader();
|
|
@@ -95,6 +96,7 @@ SharedHandle<LpdMessage> LpdMessageReceiver::receiveMessage()
|
|
(infoHash = util::fromHex(infoHashString)).empty() ||
|
|
(infoHash = util::fromHex(infoHashString)).empty() ||
|
|
port == 0) {
|
|
port == 0) {
|
|
_logger->info("LPD bad request. infohash=%s", infoHashString.c_str());
|
|
_logger->info("LPD bad request. infohash=%s", infoHashString.c_str());
|
|
|
|
+ msg.reset(new LpdMessage());
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
SharedHandle<Peer> peer(new Peer(peerAddr.first, port, false));
|
|
SharedHandle<Peer> peer(new Peer(peerAddr.first, port, false));
|
|
@@ -102,10 +104,12 @@ SharedHandle<LpdMessage> LpdMessageReceiver::receiveMessage()
|
|
peer->setLocalPeer(true);
|
|
peer->setLocalPeer(true);
|
|
}
|
|
}
|
|
msg.reset(new LpdMessage(peer, infoHash));
|
|
msg.reset(new LpdMessage(peer, infoHash));
|
|
|
|
+ return msg;
|
|
} catch(RecoverableException& e) {
|
|
} catch(RecoverableException& e) {
|
|
_logger->info("Failed to receive LPD message.", e);
|
|
_logger->info("Failed to receive LPD message.", e);
|
|
|
|
+ msg.reset(new LpdMessage());
|
|
|
|
+ return msg;
|
|
}
|
|
}
|
|
- return msg;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
} // namespace aria2
|
|
} // namespace aria2
|