mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-05-08 11:38:36 +00:00
Remove debug printfs in software updater. It works! At least for unix. Now to test Windows.
This commit is contained in:
parent
b03247ec3c
commit
3a730c4a5c
@ -77,7 +77,7 @@ SoftwareUpdater::SoftwareUpdater(Node &node,const std::string &homePath) :
|
|||||||
if ((uint64_t)buf.length() == OSUtils::jsonInt(meta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_SIZE],0)) {
|
if ((uint64_t)buf.length() == OSUtils::jsonInt(meta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_SIZE],0)) {
|
||||||
_latestMeta = meta;
|
_latestMeta = meta;
|
||||||
_latestValid = true;
|
_latestValid = true;
|
||||||
printf("CACHED UPDATE IS NEWER AND LOOKS GOOD\n");
|
//printf("CACHED UPDATE IS NEWER AND LOOKS GOOD\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ void SoftwareUpdater::setUpdateDistribution(bool distribute)
|
|||||||
if (!memcmp(sha512,metaHash.data(),ZT_SHA512_DIGEST_LEN)) { // double check that hash in JSON is correct
|
if (!memcmp(sha512,metaHash.data(),ZT_SHA512_DIGEST_LEN)) { // double check that hash in JSON is correct
|
||||||
d.meta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_SIZE] = d.bin.length(); // override with correct value -- setting this in meta json is optional
|
d.meta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_SIZE] = d.bin.length(); // override with correct value -- setting this in meta json is optional
|
||||||
_dist[Array<uint8_t,16>(sha512)] = d;
|
_dist[Array<uint8_t,16>(sha512)] = d;
|
||||||
printf("update-dist.d: %s\n",u->c_str());
|
//printf("update-dist.d: %s\n",u->c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch ( ... ) {} // ignore bad meta JSON, etc.
|
} catch ( ... ) {} // ignore bad meta JSON, etc.
|
||||||
@ -193,7 +193,7 @@ void SoftwareUpdater::handleSoftwareUpdateUserMessage(uint64_t origin,const void
|
|||||||
gd.append(_downloadHashPrefix.data,16);
|
gd.append(_downloadHashPrefix.data,16);
|
||||||
gd.append((uint32_t)_download.length());
|
gd.append((uint32_t)_download.length());
|
||||||
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
||||||
printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
//printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ void SoftwareUpdater::handleSoftwareUpdateUserMessage(uint64_t origin,const void
|
|||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 18) << 16;
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 18) << 16;
|
||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 19) << 8;
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 19) << 8;
|
||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 20);
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 20);
|
||||||
printf("<< GET_DATA @%u from %.10llx for %s\n",(unsigned int)idx,origin,Utils::hex(reinterpret_cast<const uint8_t *>(data) + 1,16).c_str());
|
//printf("<< GET_DATA @%u from %.10llx for %s\n",(unsigned int)idx,origin,Utils::hex(reinterpret_cast<const uint8_t *>(data) + 1,16).c_str());
|
||||||
std::map< Array<uint8_t,16>,_D >::iterator d(_dist.find(Array<uint8_t,16>(reinterpret_cast<const uint8_t *>(data) + 1)));
|
std::map< Array<uint8_t,16>,_D >::iterator d(_dist.find(Array<uint8_t,16>(reinterpret_cast<const uint8_t *>(data) + 1)));
|
||||||
if ((d != _dist.end())&&(idx < (unsigned long)d->second.bin.length())) {
|
if ((d != _dist.end())&&(idx < (unsigned long)d->second.bin.length())) {
|
||||||
Buffer<ZT_SOFTWARE_UPDATE_CHUNK_SIZE + 128> buf;
|
Buffer<ZT_SOFTWARE_UPDATE_CHUNK_SIZE + 128> buf;
|
||||||
@ -217,7 +217,7 @@ void SoftwareUpdater::handleSoftwareUpdateUserMessage(uint64_t origin,const void
|
|||||||
buf.append((uint32_t)idx);
|
buf.append((uint32_t)idx);
|
||||||
buf.append(d->second.bin.data() + idx,std::min((unsigned long)ZT_SOFTWARE_UPDATE_CHUNK_SIZE,(unsigned long)(d->second.bin.length() - idx)));
|
buf.append(d->second.bin.data() + idx,std::min((unsigned long)ZT_SOFTWARE_UPDATE_CHUNK_SIZE,(unsigned long)(d->second.bin.length() - idx)));
|
||||||
_node.sendUserMessage(origin,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,buf.data(),buf.size());
|
_node.sendUserMessage(origin,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,buf.data(),buf.size());
|
||||||
printf(">> DATA @%u\n",(unsigned int)idx);
|
//printf(">> DATA @%u\n",(unsigned int)idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -228,7 +228,7 @@ void SoftwareUpdater::handleSoftwareUpdateUserMessage(uint64_t origin,const void
|
|||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 18) << 16;
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 18) << 16;
|
||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 19) << 8;
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 19) << 8;
|
||||||
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 20);
|
idx |= (unsigned long)*(reinterpret_cast<const uint8_t *>(data) + 20);
|
||||||
printf("<< DATA @%u / %u bytes (we now have %u bytes)\n",(unsigned int)idx,(unsigned int)(len - 21),(unsigned int)_download.length());
|
//printf("<< DATA @%u / %u bytes (we now have %u bytes)\n",(unsigned int)idx,(unsigned int)(len - 21),(unsigned int)_download.length());
|
||||||
if (idx == (unsigned long)_download.length()) {
|
if (idx == (unsigned long)_download.length()) {
|
||||||
_download.append(reinterpret_cast<const char *>(data) + 21,len - 21);
|
_download.append(reinterpret_cast<const char *>(data) + 21,len - 21);
|
||||||
if (_download.length() < _downloadLength) {
|
if (_download.length() < _downloadLength) {
|
||||||
@ -237,7 +237,7 @@ void SoftwareUpdater::handleSoftwareUpdateUserMessage(uint64_t origin,const void
|
|||||||
gd.append(_downloadHashPrefix.data,16);
|
gd.append(_downloadHashPrefix.data,16);
|
||||||
gd.append((uint32_t)_download.length());
|
gd.append((uint32_t)_download.length());
|
||||||
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
||||||
printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
//printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -275,7 +275,7 @@ bool SoftwareUpdater::check(const uint64_t now)
|
|||||||
(int)ZT_VENDOR_ZEROTIER,
|
(int)ZT_VENDOR_ZEROTIER,
|
||||||
_channel.c_str());
|
_channel.c_str());
|
||||||
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,tmp,len);
|
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,tmp,len);
|
||||||
printf(">> GET_LATEST\n");
|
//printf(">> GET_LATEST\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_latestValid)
|
if (_latestValid)
|
||||||
@ -302,7 +302,7 @@ bool SoftwareUpdater::check(const uint64_t now)
|
|||||||
OSUtils::lockDownFile(metaPath.c_str(),false);
|
OSUtils::lockDownFile(metaPath.c_str(),false);
|
||||||
OSUtils::lockDownFile(binPath.c_str(),false);
|
OSUtils::lockDownFile(binPath.c_str(),false);
|
||||||
_latestValid = true;
|
_latestValid = true;
|
||||||
printf("VALID UPDATE\n%s\n",OSUtils::jsonDump(_latestMeta).c_str());
|
//printf("VALID UPDATE\n%s\n",OSUtils::jsonDump(_latestMeta).c_str());
|
||||||
_download = std::string();
|
_download = std::string();
|
||||||
_downloadLength = 0;
|
_downloadLength = 0;
|
||||||
return true;
|
return true;
|
||||||
@ -312,7 +312,7 @@ bool SoftwareUpdater::check(const uint64_t now)
|
|||||||
} catch ( ... ) {} // any exception equals verification failure
|
} catch ( ... ) {} // any exception equals verification failure
|
||||||
|
|
||||||
// If we get here, checks failed.
|
// If we get here, checks failed.
|
||||||
printf("INVALID UPDATE (!!!)\n%s\n",OSUtils::jsonDump(_latestMeta).c_str());
|
//printf("INVALID UPDATE (!!!)\n%s\n",OSUtils::jsonDump(_latestMeta).c_str());
|
||||||
OSUtils::rm(metaPath.c_str());
|
OSUtils::rm(metaPath.c_str());
|
||||||
OSUtils::rm(binPath.c_str());
|
OSUtils::rm(binPath.c_str());
|
||||||
_latestMeta = nlohmann::json();
|
_latestMeta = nlohmann::json();
|
||||||
@ -325,7 +325,7 @@ bool SoftwareUpdater::check(const uint64_t now)
|
|||||||
gd.append(_downloadHashPrefix.data,16);
|
gd.append(_downloadHashPrefix.data,16);
|
||||||
gd.append((uint32_t)_download.length());
|
gd.append((uint32_t)_download.length());
|
||||||
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
_node.sendUserMessage(ZT_SOFTWARE_UPDATE_SERVICE,ZT_SOFTWARE_UPDATE_USER_MESSAGE_TYPE,gd.data(),gd.size());
|
||||||
printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
//printf(">> GET_DATA @%u\n",(unsigned int)_download.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -337,14 +337,16 @@ void SoftwareUpdater::apply()
|
|||||||
std::string updatePath(_homePath + ZT_PATH_SEPARATOR_S ZT_SOFTWARE_UPDATE_BIN_FILENAME);
|
std::string updatePath(_homePath + ZT_PATH_SEPARATOR_S ZT_SOFTWARE_UPDATE_BIN_FILENAME);
|
||||||
if ((_latestMeta.is_object())&&(_latestValid)&&(OSUtils::fileExists(updatePath.c_str(),false))) {
|
if ((_latestMeta.is_object())&&(_latestValid)&&(OSUtils::fileExists(updatePath.c_str(),false))) {
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
std::string cmdArgs = " ";
|
std::string cmdArgs(OSUtils::jsonString(_latestMeta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_EXEC_ARGS],""));
|
||||||
cmdArgs.append(OSUtils::jsonString(_latestMeta[ZT_SOFTWARE_UPDATE_JSON_UPDATE_EXEC_ARGS],""));
|
if (cmdArgs.length() > 0) {
|
||||||
if (cmdArgs.length() == 1) cmdArgs = std::string();
|
updatePath.push_back(' ');
|
||||||
|
updatePath.append(cmdArgs);
|
||||||
|
}
|
||||||
STARTUPINFOA si;
|
STARTUPINFOA si;
|
||||||
PROCESS_INFORMATION pi;
|
PROCESS_INFORMATION pi;
|
||||||
memset(&si,0,sizeof(si));
|
memset(&si,0,sizeof(si));
|
||||||
memset(&pi,0,sizeof(pi));
|
memset(&pi,0,sizeof(pi));
|
||||||
CreateProcessA(NULL,(updatePath + cmdArgs).c_str(),NULL,NULL,FALSE,CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP,NULL,NULL,&si,&pi);
|
CreateProcessA(NULL,updatePath.c_str(),NULL,NULL,FALSE,CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP,NULL,NULL,&si,&pi);
|
||||||
#else
|
#else
|
||||||
char *argv[256];
|
char *argv[256];
|
||||||
unsigned long ac = 0;
|
unsigned long ac = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user