mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-05-02 00:39:59 +00:00
.
This commit is contained in:
parent
402d99ea8d
commit
58701c1ca8
@ -53,15 +53,8 @@
|
|||||||
#include "../node/MAC.hpp"
|
#include "../node/MAC.hpp"
|
||||||
#include "../node/Address.hpp"
|
#include "../node/Address.hpp"
|
||||||
|
|
||||||
// offbase includes and builds upon nlohmann::json
|
|
||||||
using json = nlohmann::json;
|
using json = nlohmann::json;
|
||||||
|
|
||||||
// Stored in database as schemaVersion key in Config.
|
|
||||||
// If not present, database is assumed to be empty and at the current schema version
|
|
||||||
// and this key/value is added automatically.
|
|
||||||
//#define ZT_NETCONF_SQLITE_SCHEMA_VERSION 5
|
|
||||||
//#define ZT_NETCONF_SQLITE_SCHEMA_VERSION_STR "5"
|
|
||||||
|
|
||||||
// API version reported via JSON control plane
|
// API version reported via JSON control plane
|
||||||
#define ZT_NETCONF_CONTROLLER_API_VERSION 3
|
#define ZT_NETCONF_CONTROLLER_API_VERSION 3
|
||||||
|
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
#define ZT_NETCONF_SCHEMA_SQL \
|
|
||||||
"CREATE TABLE Config (\n"\
|
|
||||||
" k varchar(16) PRIMARY KEY NOT NULL,\n"\
|
|
||||||
" v varchar(1024) NOT NULL\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Network (\n"\
|
|
||||||
" id char(16) PRIMARY KEY NOT NULL,\n"\
|
|
||||||
" name varchar(128) NOT NULL,\n"\
|
|
||||||
" private integer NOT NULL DEFAULT(1),\n"\
|
|
||||||
" enableBroadcast integer NOT NULL DEFAULT(1),\n"\
|
|
||||||
" allowPassiveBridging integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" multicastLimit integer NOT NULL DEFAULT(32),\n"\
|
|
||||||
" creationTime integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" revision integer NOT NULL DEFAULT(1),\n"\
|
|
||||||
" memberRevisionCounter integer NOT NULL DEFAULT(1),\n"\
|
|
||||||
" flags integer NOT NULL DEFAULT(0)\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE AuthToken (\n"\
|
|
||||||
" id integer PRIMARY KEY NOT NULL,\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" authMode integer NOT NULL DEFAULT(1),\n"\
|
|
||||||
" useCount integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" maxUses integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" expiresAt integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" token varchar(256) NOT NULL\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE INDEX AuthToken_networkId_token ON AuthToken(networkId,token);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Node (\n"\
|
|
||||||
" id char(10) PRIMARY KEY NOT NULL,\n"\
|
|
||||||
" identity varchar(4096) NOT NULL\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE IpAssignment (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" nodeId char(10) REFERENCES Node(id) ON DELETE CASCADE,\n"\
|
|
||||||
" type integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" ip blob(16) NOT NULL,\n"\
|
|
||||||
" ipNetmaskBits integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" ipVersion integer NOT NULL DEFAULT(4)\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE UNIQUE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE IpAssignmentPool (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" ipRangeStart blob(16) NOT NULL,\n"\
|
|
||||||
" ipRangeEnd blob(16) NOT NULL,\n"\
|
|
||||||
" ipVersion integer NOT NULL DEFAULT(4)\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE UNIQUE INDEX IpAssignmentPool_networkId_ipRangeStart ON IpAssignmentPool (networkId,ipRangeStart);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Member (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
|
|
||||||
" authorized integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" activeBridge integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" memberRevision integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" flags integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" lastRequestTime integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" lastPowDifficulty integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" lastPowTime integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" recentHistory blob,\n"\
|
|
||||||
" PRIMARY KEY (networkId, nodeId)\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE INDEX Member_networkId_nodeId ON Member(networkId,nodeId);\n"\
|
|
||||||
"CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);\n"\
|
|
||||||
"CREATE INDEX Member_networkId_memberRevision ON Member(networkId, memberRevision);\n"\
|
|
||||||
"CREATE INDEX Member_networkId_lastRequestTime ON Member(networkId, lastRequestTime);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Route (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" target blob(16) NOT NULL,\n"\
|
|
||||||
" via blob(16),\n"\
|
|
||||||
" targetNetmaskBits integer NOT NULL,\n"\
|
|
||||||
" ipVersion integer NOT NULL,\n"\
|
|
||||||
" flags integer NOT NULL,\n"\
|
|
||||||
" metric integer NOT NULL\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE INDEX Route_networkId ON Route (networkId);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Relay (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" address char(10) NOT NULL,\n"\
|
|
||||||
" phyAddress varchar(64) NOT NULL\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE UNIQUE INDEX Relay_networkId_address ON Relay (networkId,address);\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE TABLE Rule (\n"\
|
|
||||||
" networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
|
|
||||||
" policyId varchar(32),\n"\
|
|
||||||
" ruleNo integer NOT NULL,\n"\
|
|
||||||
" ruleType integer NOT NULL DEFAULT(0),\n"\
|
|
||||||
" \"addr\" blob(16),\n"\
|
|
||||||
" \"int1\" integer,\n"\
|
|
||||||
" \"int2\" integer,\n"\
|
|
||||||
" \"int3\" integer,\n"\
|
|
||||||
" \"int4\" integer\n"\
|
|
||||||
");\n"\
|
|
||||||
"\n"\
|
|
||||||
"CREATE INDEX Rule_networkId_ruleNo ON Rule (networkId, ruleNo);\n"\
|
|
||||||
"CREATE INDEX Rule_networkId_policyId ON Rule (networkId, policyId);\n"\
|
|
||||||
""
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Run this file to package the .sql file into a .c file whenever the SQL changes.
|
|
||||||
|
|
||||||
rm -f schema.sql.c
|
|
||||||
echo '#define ZT_NETCONF_SCHEMA_SQL \' >schema.sql.c
|
|
||||||
cat schema.sql | sed 's/"/\\"/g' | sed 's/^/"/' | sed 's/$/\\n"\\/' >>schema.sql.c
|
|
||||||
echo '""' >>schema.sql.c
|
|
Loading…
x
Reference in New Issue
Block a user