Browse Source

add sso version to network config object

Grant Limberg 3 years ago
parent
commit
95032cc74d
2 changed files with 12 additions and 1 deletions
  1. 3 0
      node/NetworkConfig.cpp
  2. 9 1
      node/NetworkConfig.hpp

+ 3 - 0
node/NetworkConfig.cpp

@@ -188,6 +188,7 @@ bool NetworkConfig::toDictionary(Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d,b
 				if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_URL, this->authenticationURL)) return false;
 			}
 			if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_EXPIRY_TIME, this->authenticationExpiryTime)) return false;
+			if (!d.add(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, this->ssoVersion)) return false;
 		}
 
 		delete tmp;
@@ -383,9 +384,11 @@ bool NetworkConfig::fromDictionary(const Dictionary<ZT_NETWORKCONFIG_DICT_CAPACI
 					this->authenticationURL[0] = 0;
 				}
 				this->authenticationExpiryTime = d.getI(ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_EXPIRY_TIME, 0);
+				this->ssoVersion = d.getUI(ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION, 0);
 			} else {
 				this->authenticationURL[0] = 0;
 				this->authenticationExpiryTime = 0;
+				this->ssoVersion = 0;
 			}
 		}
 

+ 9 - 1
node/NetworkConfig.hpp

@@ -184,6 +184,8 @@ namespace ZeroTier {
 #define ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_URL "aurl"
 // authentication expiry
 #define ZT_NETWORKCONFIG_DICT_KEY_AUTHENTICATION_EXPIRY_TIME "aexpt"
+// sso impl. version
+#define ZT_NETWORKCONFIG_DICT_KEY_SSO_VERSION "ssov"
 
 // Legacy fields -- these are obsoleted but are included when older clients query
 
@@ -242,7 +244,8 @@ public:
 		dnsCount(0),
 		ssoEnabled(false),
 		authenticationURL(),
-		authenticationExpiryTime(0)
+		authenticationExpiryTime(0),
+		ssoVersion(0)
 	{
 		name[0] = 0;
 		memset(specialists, 0, sizeof(uint64_t)*ZT_MAX_NETWORK_SPECIALISTS);
@@ -628,6 +631,11 @@ public:
 	 * Time current authentication expires or 0 if external authentication is disabled
 	 */
 	uint64_t authenticationExpiryTime;
+
+	/**
+	 * SSO implementaiton version
+	 */
+	uint64_t ssoVersion;
 };
 
 } // namespace ZeroTier