aMule 1.2.6 reported incorrect source exchange version and there was a hope that 2 bug-fix versions 1.2.7/1.2.8 would fix it, but the problem is still there.
Reported source exchange version doesn't fit format of your source exchange packets.
CUpDownClient::SendMuleInfoPacket contains:
CTag tag4(ET_SOURCEEXCHANGE,2);
But the sending packet format is NOT version 2:
void CUpDownClient::UDPReaskForDownload()
{
if(!reqfile || m_bUDPPending) {
return;
}
if(m_nUDPPort != 0 && theApp.glob_prefs->GetUDPPort() != 0 &&
!theApp.serverconnect->IsLowID() && !HasLowID() && !(socket && socket->IsConnected())) {
if(IsSourceRequestAllowed()) {
return;
}
m_bUDPPending = true;
Packet* response = new Packet(OP_REASKFILEPING,16,OP_EMULEPROT);
memcpy(response->pBuffer,reqfile->GetFileHash(),16);
theApp.uploadqueue->AddUpDataOverheadFileRequest(response->size);
theApp.clientudp->SendPacket(response,GetIP(),GetUDPPort());
}
}
I think you know that the official eMule just discards such packets.
--
eMule Plus Team