This commit is contained in:
Adam Ierymenko 2019-08-07 21:11:48 -05:00
parent 4d70640a15
commit af7a70bf02
No known key found for this signature in database
GPG Key ID: 1657198823E52A61

View File

@ -53,7 +53,6 @@ LFDB::LFDB(const Identity &myId,const char *path,const char *lfOwnerPrivate,cons
const uint64_t controllerAddressInt = _myId.address().toInt(); const uint64_t controllerAddressInt = _myId.address().toInt();
_myId.address().toString(controllerAddress); _myId.address().toString(controllerAddress);
std::string networksSelectorName("com.zerotier.controller.lfdb:"); networksSelectorName.append(controllerAddress); networksSelectorName.append("/network"); std::string networksSelectorName("com.zerotier.controller.lfdb:"); networksSelectorName.append(controllerAddress); networksSelectorName.append("/network");
std::string membersSelectorName("com.zerotier.controller.lfdb:"); membersSelectorName.append(controllerAddress); membersSelectorName.append("/member");
// LF record masking key is the first 32 bytes of SHA512(controller private key) in hex, // LF record masking key is the first 32 bytes of SHA512(controller private key) in hex,
// hiding record values from anything but the controller or someone who has its key. // hiding record values from anything but the controller or someone who has its key.
@ -156,7 +155,7 @@ LFDB::LFDB(const Identity &myId,const char *path,const char *lfOwnerPrivate,cons
nlohmann::json newrec,selector0,selector1,selectors; nlohmann::json newrec,selector0,selector1,selectors;
selector0["Name"] = networksSelectorName; selector0["Name"] = networksSelectorName;
selector0["Ordinal"] = ns->first; selector0["Ordinal"] = ns->first;
selector1["Name"] = membersSelectorName; selector1["Name"] = "member";
selector1["Ordinal"] = ms->first; selector1["Ordinal"] = ms->first;
selectors.push_back(selector0); selectors.push_back(selector0);
selectors.push_back(selector1); selectors.push_back(selector1);
@ -190,16 +189,16 @@ LFDB::LFDB(const Identity &myId,const char *path,const char *lfOwnerPrivate,cons
try { try {
std::ostringstream query; std::ostringstream query;
query query <<
<< '{' "{"
<< "\"Ranges\":[{" "\"Ranges\":[{"
<< "\"Name\":\"" << networksSelectorName << "\"," "\"Name\":\"" << networksSelectorName << "\","
<< "\"Range\":[0,18446744073709551615]" "\"Range\":[0,18446744073709551615]"
<< "}]," "}],"
<< "\"TimeRange\":[" << timeRangeStart << ",9223372036854775807]," "\"TimeRange\":[" << timeRangeStart << ",9223372036854775807],"
<< "\"MaskingKey\":\"" << maskingKey << "\"," "\"MaskingKey\":\"" << maskingKey << "\","
<< "\"Owners\":[\"" << _lfOwnerPublic << "\"]" "\"Owners\":[\"" << _lfOwnerPublic << "\"]"
<< '}'; "}";
auto resp = htcli.Post("/query",query.str(),"application/json"); auto resp = htcli.Post("/query",query.str(),"application/json");
if (resp) { if (resp) {
if (resp->status == 200) { if (resp->status == 200) {
@ -259,19 +258,19 @@ LFDB::LFDB(const Identity &myId,const char *path,const char *lfOwnerPrivate,cons
try { try {
std::ostringstream query; std::ostringstream query;
query query <<
<< '{' "{"
<< "\"Ranges\":[{" "\"Ranges\":[{"
<< "\"Name\":\"" << networksSelectorName << "\"," "\"Name\":\"" << networksSelectorName << "\","
<< "\"Range\":[0,18446744073709551615]" "\"Range\":[0,18446744073709551615]"
<< "},{" "},{"
<< "\"Name\":\"" << membersSelectorName << "\"," "\"Name\":\"member\","
<< "\"Range\":[0,18446744073709551615]" "\"Range\":[0,18446744073709551615]"
<< "}]," "}],"
<< "\"TimeRange\":[" << timeRangeStart << ",9223372036854775807]," "\"TimeRange\":[" << timeRangeStart << ",9223372036854775807],"
<< "\"MaskingKey\":\"" << maskingKey << "\"," "\"MaskingKey\":\"" << maskingKey << "\","
<< "\"Owners\":[\"" << _lfOwnerPublic << "\"]" "\"Owners\":[\"" << _lfOwnerPublic << "\"]"
<< '}'; "}";
auto resp = htcli.Post("/query",query.str(),"application/json"); auto resp = htcli.Post("/query",query.str(),"application/json");
if (resp) { if (resp) {
if (resp->status == 200) { if (resp->status == 200) {