Adam Ierymenko 9 years ago
parent
commit
25a5275921
4 changed files with 75 additions and 3 deletions
  1. 4 0
      node/Dictionary.cpp
  2. 6 1
      node/Dictionary.hpp
  3. 5 2
      node/NetworkConfig.hpp
  4. 60 0
      node/NetworkConfigRequestMetaData.hpp

+ 4 - 0
node/Dictionary.cpp

@@ -16,6 +16,8 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifdef ZT_SUPPORT_OLD_STYLE_NETCONF
+
 #include "Dictionary.hpp"
 #include "C25519.hpp"
 #include "Identity.hpp"
@@ -238,3 +240,5 @@ void Dictionary::_appendEsc(const char *data,unsigned int len,std::string &to)
 }
 
 } // namespace ZeroTier
+
+#endif // ZT_SUPPORT_OLD_STYLE_NETCONF

+ 6 - 1
node/Dictionary.hpp

@@ -19,6 +19,10 @@
 #ifndef ZT_DICTIONARY_HPP
 #define ZT_DICTIONARY_HPP
 
+#include "Constants.hpp"
+
+#ifdef ZT_SUPPORT_OLD_STYLE_NETCONF
+
 #include <stdint.h>
 
 #include <string>
@@ -26,7 +30,6 @@
 #include <stdexcept>
 #include <algorithm>
 
-#include "Constants.hpp"
 #include "Utils.hpp"
 
 // Three fields are added/updated by sign()
@@ -272,4 +275,6 @@ private:
 
 } // namespace ZeroTier
 
+#endif // ZT_SUPPORT_OLD_STYLE_NETCONF
+
 #endif

+ 5 - 2
node/NetworkConfig.hpp

@@ -25,20 +25,23 @@
 
 #include <map>
 #include <vector>
-#include <string>
 #include <stdexcept>
 #include <algorithm>
 
 #include "../include/ZeroTierOne.h"
 
 #include "Constants.hpp"
-#include "Dictionary.hpp"
 #include "Buffer.hpp"
 #include "InetAddress.hpp"
 #include "MulticastGroup.hpp"
 #include "Address.hpp"
 #include "CertificateOfMembership.hpp"
 
+#ifdef ZT_SUPPORT_OLD_STYLE_NETCONF
+#include "Dictionary.hpp"
+#include <string>
+#endif
+
 /**
  * First byte of V2 binary-serialized network configs
  *

+ 60 - 0
node/NetworkConfigRequestMetaData.hpp

@@ -0,0 +1,60 @@
+/*
+ * ZeroTier One - Network Virtualization Everywhere
+ * Copyright (C) 2011-2016  ZeroTier, Inc.  https://www.zerotier.com/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef ZT_NETWORKCONFIGREQUESTMETADATA_HPP
+#define ZT_NETWORKCONFIGREQUESTMETADATA_HPP
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "Constants.hpp"
+#include "NetworkConfig.hpp"
+
+#ifdef ZT_SUPPORT_OLD_STYLE_NETCONF
+#include <string>
+#include "Dictionary.hpp"
+#endif
+
+namespace ZeroTier {
+
+class NetworkConfigRequestMetaData
+{
+public:
+	NetworkConfigRequestMetaData() :
+		_vendor(0),
+		_majorVersion(0),
+		_minorVersion(0),
+		_revision(0),
+		_buildNo(0),
+		_flags(0)
+	{
+	}
+
+protected:
+	unsigned int _vendor;
+	unsigned int _majorVersion;
+	unsigned int _minorVersion;
+	unsigned int _revision;
+	unsigned int _buildNo;
+	unsigned int _flags;
+};
+
+} // namespace ZeroTier
+
+#endif