diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-02-13 09:46:34 -0800 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-02-13 09:46:34 -0800 |
| commit | e4b6611201bb2f69c05a4c104c77d6ec51c2c38b (patch) | |
| tree | 5f33f80ebd2437df1e53664a4fe6b9380ed66692 /node/Peer.cpp | |
| parent | e6840a1863a2ed996d7fe66321d753e003d00375 (diff) | |
| download | infinitytier-e4b6611201bb2f69c05a4c104c77d6ec51c2c38b.tar.gz infinitytier-e4b6611201bb2f69c05a4c104c77d6ec51c2c38b.zip | |
Only accept world updates from upstreams.
Diffstat (limited to 'node/Peer.cpp')
| -rw-r--r-- | node/Peer.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/node/Peer.cpp b/node/Peer.cpp index 338bea10..d5847092 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -360,12 +360,18 @@ void Peer::sendHELLO(const InetAddress &localAddr,const InetAddress &atAddress,u const unsigned int startCryptedPortionAt = outp.size(); std::vector<World> moons(RR->topology->moons()); - outp.append((uint16_t)moons.size()); + std::vector<uint64_t> moonsWanted(RR->topology->moonsWanted()); + outp.append((uint16_t)(moons.size() + moonsWanted.size())); for(std::vector<World>::const_iterator m(moons.begin());m!=moons.end();++m) { outp.append((uint8_t)m->type()); outp.append((uint64_t)m->id()); outp.append((uint64_t)m->timestamp()); } + for(std::vector<uint64_t>::const_iterator m(moonsWanted.begin());m!=moonsWanted.end();++m) { + outp.append((uint8_t)World::TYPE_MOON); + outp.append(*m); + outp.append((uint64_t)0); + } const unsigned int corSizeAt = outp.size(); outp.addSize(2); |
