X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Ffreenet%2Ftrustlistxml.cpp;h=d7321058168181a481253e9003d5f86180adbc1c;hp=c3e71db319c248d67d42f479c19382524e9fab38;hb=ee580d19b7920904587e18d72a3465d52eab6204;hpb=52c0819bfc1d083c6e0738f75f0d7eeba521295a diff --git a/src/freenet/trustlistxml.cpp b/src/freenet/trustlistxml.cpp index c3e71db..d732105 100644 --- a/src/freenet/trustlistxml.cpp +++ b/src/freenet/trustlistxml.cpp @@ -73,8 +73,14 @@ std::string TrustListXML::GetXML() TiXmlElement *tr=new TiXmlElement("Trust"); tid->LinkEndChild(tr); tr->LinkEndChild(XMLCreateCDATAElement("Identity",(*i).m_identity)); - tr->LinkEndChild(XMLCreateTextElement("MessageTrustLevel",messagetrust)); - tr->LinkEndChild(XMLCreateTextElement("TrustListTrustLevel",trustlisttrust)); + if((*i).m_messagetrust>=0) + { + tr->LinkEndChild(XMLCreateTextElement("MessageTrustLevel",messagetrust)); + } + if((*i).m_trustlisttrust>=0) + { + tr->LinkEndChild(XMLCreateTextElement("TrustListTrustLevel",trustlisttrust)); + } } td.Accept(&tp); @@ -122,16 +128,22 @@ const bool TrustListXML::ParseXML(const std::string &xml) if(txt) { messagetruststr=txt->ValueStr(); - StringFunctions::Convert(messagetruststr,messagetrust); + if(messagetruststr!="") + { + StringFunctions::Convert(messagetruststr,messagetrust); + } } txt=hnd2.FirstChild("TrustListTrustLevel").FirstChild().ToText(); if(txt) { trustlisttruststr=txt->ValueStr(); - StringFunctions::Convert(trustlisttruststr,trustlisttrust); + if(trustlisttruststr!="") + { + StringFunctions::Convert(trustlisttruststr,trustlisttrust); + } } - if(identity!="" && messagetrust>=0 && messagetrust<=100 && trustlisttrust>=0 && trustlisttrust<=100) + if(identity!="" && messagetrust>=-1 && messagetrust<=100 && trustlisttrust>=-1 && trustlisttrust<=100) { // check so we don't add the same identity multiple times from a trust list if(std::find(m_foundkeys.begin(),m_foundkeys.end(),identity)==m_foundkeys.end())