| 495 | } |
| 496 | |
| 497 | void AddressBook::InsertAddress (const std::string& address, const std::string& jump) |
| 498 | { |
| 499 | auto pos = jump.find(".b32.i2p"); |
| 500 | if (pos != std::string::npos) |
| 501 | { |
| 502 | m_Addresses[address] = std::make_shared<Address>(jump.substr (0, pos)); |
| 503 | LogPrint (eLogInfo, "Addressbook: Added ", address," -> ", jump); |
| 504 | } |
| 505 | else |
| 506 | { |
| 507 | // assume base64 |
| 508 | auto ident = std::make_shared<i2p::data::IdentityEx>(); |
| 509 | if (ident->FromBase64 (jump)) |
| 510 | { |
| 511 | if (m_Storage) m_Storage->AddAddress (ident); |
| 512 | m_Addresses[address] = std::make_shared<Address>(ident->GetIdentHash ()); |
| 513 | LogPrint (eLogInfo, "Addressbook: Added ", address," -> ", ToAddress(ident->GetIdentHash ())); |
| 514 | } |
| 515 | else |
| 516 | LogPrint (eLogError, "Addressbook: Malformed address ", jump); |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | void AddressBook::InsertFullAddress (std::shared_ptr<const i2p::data::IdentityEx> address) |
| 521 | { |
no test coverage detected