summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore1
-rw-r--r--mkworld.cpp17
-rw-r--r--node/World.hpp2
3 files changed, 19 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index b5d71690..1cb16da5 100755
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,7 @@ Thumbs.db
/ZeroTierOneInstaller-*
/examples/docker/zerotier-one
/examples/docker/test-*.env
+/mkworld
# Miscellaneous file types that we don't want to check in
*.log
diff --git a/mkworld.cpp b/mkworld.cpp
index 2b41d735..baf693fc 100644
--- a/mkworld.cpp
+++ b/mkworld.cpp
@@ -144,10 +144,27 @@ int main(int argc,char **argv)
Buffer<ZT_WORLD_MAX_SERIALIZED_LENGTH> outtmp;
nw.serialize(outtmp,false);
+ World testw;
+ testw.deserialize(outtmp,0);
+ if (testw != nw) {
+ fprintf(stderr,"FATAL: serialization test failed!"ZT_EOL_S);
+ return 1;
+ }
fwrite(outtmp.data(),outtmp.size(),1,stdout);
fflush(stdout);
fprintf(stderr,"INFO: wrote %u bytes to stdout"ZT_EOL_S,outtmp.size());
+ fprintf(stderr,ZT_EOL_S);
+ fprintf(stderr,"#define ZT_DEFAULT_WORLD_LENGTH %u"ZT_EOL_S,outtmp.size());
+ fprintf(stderr,"static const unsigned char ZT_DEFAULT_WORLD[ZT_DEFAULT_WORLD_LENGTH] = {");
+ for(unsigned int i=0;i<outtmp.size();++i) {
+ const unsigned char *d = (const unsigned char *)outtmp.data();
+ if (i > 0)
+ fprintf(stderr,",");
+ fprintf(stderr,"0x%.2x",(unsigned int)d[i]);
+ }
+ fprintf(stderr,"};"ZT_EOL_S);
+
return 0;
}
diff --git a/node/World.hpp b/node/World.hpp
index 7ccd2c53..c6d20d84 100644
--- a/node/World.hpp
+++ b/node/World.hpp
@@ -225,7 +225,7 @@ public:
return (p - startAt);
}
- inline bool operator==(const World &w) const throw() { return ((_id == w._id)&&(_ts == w._ts)&&(_roots == w._roots)); }
+ inline bool operator==(const World &w) const throw() { return ((_id == w._id)&&(_ts == w._ts)&&(_updateSigningKey == w._updateSigningKey)&&(_signature == w._signature)&&(_roots == w._roots)); }
inline bool operator!=(const World &w) const throw() { return (!(*this == w)); }
protected: