diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-05-11 10:19:14 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-05-11 10:19:14 -0700 |
| commit | 548730660be094ddbbd5d7c918e6c5d16b6233b8 (patch) | |
| tree | ca5fc3a3cb0d8b9d2144a7bf7e07927cf91584cd /node/Network.cpp | |
| parent | 7ee3743c3d00ac8e3420b5535ac10df43d6da14f (diff) | |
| download | infinitytier-548730660be094ddbbd5d7c918e6c5d16b6233b8.tar.gz infinitytier-548730660be094ddbbd5d7c918e6c5d16b6233b8.zip | |
Ready to test whole new netconf refactor.
Diffstat (limited to 'node/Network.cpp')
| -rw-r--r-- | node/Network.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/node/Network.cpp b/node/Network.cpp index a4384dfd..8e9aecbd 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -256,20 +256,16 @@ void Network::requestConfiguration() TRACE("requesting netconf for network %.16llx from controller %s",(unsigned long long)_id,controller().toString().c_str()); - // TODO: in the future we will include things like join tokens here, etc. - Dictionary metaData; - metaData.setHex(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_MAJOR_VERSION,ZEROTIER_ONE_VERSION_MAJOR); - metaData.setHex(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_MINOR_VERSION,ZEROTIER_ONE_VERSION_MINOR); - metaData.setHex(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_REVISION,ZEROTIER_ONE_VERSION_REVISION); - std::string mds(metaData.toString()); + NetworkConfigRequestMetaData metaData; + metaData.initWithDefaults(); + Buffer<4096> mds; + metaData.serialize(mds); // this always includes legacy fields to support old controllers Packet outp(controller(),RR->identity.address(),Packet::VERB_NETWORK_CONFIG_REQUEST); outp.append((uint64_t)_id); - outp.append((uint16_t)mds.length()); - outp.append((const void *)mds.data(),(unsigned int)mds.length()); - if (_config) - outp.append((uint64_t)_config.revision); - else outp.append((uint64_t)0); + outp.append((uint16_t)mds.size()); + outp.append(mds.data(),mds.size()); + outp.append((_config) ? (uint64_t)_config.revision : (uint64_t)0); RR->sw->send(outp,true,0); } |
