Fixed: Libresapi was throwing exception when requested to add new cert which was empty

This commit is contained in:
Konrad 2017-07-06 22:44:45 +02:00
parent 8e62a8b1b2
commit f0ad68789b

View file

@ -601,19 +601,30 @@ void PeersHandler::handleWildcard(Request &req, Response &resp)
} }
RsPeerId peer_id; RsPeerId peer_id;
RsPgpId pgp_id; RsPgpId pgp_id;
std::string cleanCert;
int error_code;
std::string error_string; std::string error_string;
if(mRsPeers->loadCertificateFromString(cert_string, peer_id, pgp_id, error_string)
&& mRsPeers->addFriend(peer_id, pgp_id, flags)) if (mRsPeers->cleanCertificate(cert_string, cleanCert, error_code))
{ {
ok = true; if(mRsPeers->loadCertificateFromString(cert_string, peer_id, pgp_id, error_string)
resp.mDataStream << makeKeyValueReference("pgp_id", pgp_id); && mRsPeers->addFriend(peer_id, pgp_id, flags))
resp.mDataStream << makeKeyValueReference("peer_id", peer_id); {
} ok = true;
else resp.mDataStream << makeKeyValueReference("pgp_id", pgp_id);
{ resp.mDataStream << makeKeyValueReference("peer_id", peer_id);
resp.mDebug << "Error: failed to add peer" << std::endl; }
resp.mDebug << error_string << std::endl; else
} {
resp.mDebug << "Error: failed to add peer" << std::endl;
resp.mDebug << error_string << std::endl;
}
}
else
{
resp.mDebug << "Error: failed to add peer" << std::endl;
resp.mDebug << error_code << std::endl;
}
} }
} }
if(ok) if(ok)