From 5d41d0533f9a61ba45e15a1e9c2aafe9a75efc69 Mon Sep 17 00:00:00 2001
From: Nigel Kukard <nkukard@lbsd.net>
Date: Fri, 27 Feb 2009 07:26:44 +0000
Subject: [PATCH] * Fixed up database schema

---
 database/core.tsql | 188 +++------------------------------------------
 1 file changed, 9 insertions(+), 179 deletions(-)

diff --git a/database/core.tsql b/database/core.tsql
index 74b00de5..31dc6140 100644
--- a/database/core.tsql
+++ b/database/core.tsql
@@ -9,42 +9,27 @@ CREATE TABLE @PREFIX@users (
 
 	Description		TEXT,
 
-	Disabled		SMALLINT NOT NULL DEFAULT '0'
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
 
 	UNIQUE (Username)
 ) @CREATE_TABLE_SUFFIX@;
 CREATE INDEX @PREFIX@users_idx1 ON @PREFIX@users (Username);
 
 
-/* User check items */
-CREATE TABLE @PREFIX@user_check_items (
+/* User attributes */
+CREATE TABLE @PREFIX@user_attributes (
 	ID			@SERIAL_TYPE@,
 
 	Name			VARCHAR(255) NOT NULL,
-	Op			VARCHAR(3) NOT NULL,
+	Operator		VARCHAR(3) NOT NULL,
 	Value			VARCHAR(255),
 
-	Disabled		SMALLINT NOT NULL DEFAULT '0'
-
-	UNIQUE (Name)
-) @CREATE_TABLE_SUFFIX@;
-
-
-/* User reply items */
-CREATE TABLE @PREFIX@user_reply_items (
-	ID			@SERIAL_TYPE@,
-
-	Name			VARCHAR(255) NOT NULL,
-	Op			VARCHAR(3) NOT NULL,
-	Value			VARCHAR(255),
-
-	Disabled		SMALLINT NOT NULL DEFAULT '0'
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
 
 	UNIQUE (Name)
 ) @CREATE_TABLE_SUFFIX@;
 
 
-
 /* Groups */
 CREATE TABLE @PREFIX@groups (
 	ID			@SERIAL_TYPE@,
@@ -59,38 +44,23 @@ CREATE TABLE @PREFIX@groups (
 
 	UNIQUE (Name)
 )  @CREATE_TABLE_SUFFIX@;
-CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@users (Name);
+CREATE INDEX @PREFIX@groups_idx1 ON @PREFIX@groups (Name);
 
 
-/* Group check items */
+/* Group attributes */
 CREATE TABLE @PREFIX@group_check_items (
 	ID			@SERIAL_TYPE@,
 
 	Name			VARCHAR(255) NOT NULL,
-	Op			VARCHAR(3) NOT NULL,
+	Operator		VARCHAR(3) NOT NULL,
 	Value			VARCHAR(255),
 
-	Disabled		SMALLINT NOT NULL DEFAULT '0'
-
-	UNIQUE (Name)
-) @CREATE_TABLE_SUFFIX@;
-
-
-/* Group reply items */
-CREATE TABLE @PREFIX@group_reply_items (
-	ID			@SERIAL_TYPE@,
-
-	Name			VARCHAR(255) NOT NULL,
-	Op			VARCHAR(3) NOT NULL,
-	Value			VARCHAR(255),
-
-	Disabled		SMALLINT NOT NULL DEFAULT '0'
+	Disabled		SMALLINT NOT NULL DEFAULT '0',
 
 	UNIQUE (Name)
 ) @CREATE_TABLE_SUFFIX@;
 
 
-
 /* User to group mapping */
 CREATE TABLE @PREFIX@users_to_groups (
 	ID			@SERIAL_TYPE@,
@@ -111,143 +81,3 @@ CREATE INDEX @PREFIX@users_to_groups_idx1 ON @PREFIX@users_to_groups (UserID,Gro
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/* Member list for policies */
-CREATE TABLE @PREFIX@policy_members (
-	ID			@SERIAL_TYPE@,
-
-	PolicyID		@SERIAL_REF_TYPE@,
-
-	/* 
-		Format of key: 
-		NULL = any
-		a.b.c.d/e = IP address with optional /e
-		@domain = domain specification, 
-		%xyz = xyz group, 
-		abc@domain = abc user specification
-
-		all options support negation using !<key>
-	*/
-	Source			TEXT,
-	Destination		TEXT,
-
-	Comment			VARCHAR(1024),
-
-	Disabled		SMALLINT NOT NULL DEFAULT '0',
-
-	FOREIGN KEY (PolicyID) REFERENCES @PREFIX@policies(ID)
-) @CREATE_TABLE_SUFFIX@;
-
-
-/* Default System Policy */
-INSERT INTO @PREFIX@policy_members (PolicyID,Source,Destination) VALUES
-	(1,NULL,NULL);
-/* Default Outbound System Policy */
-INSERT INTO @PREFIX@policy_members (PolicyID,Source,Destination) VALUES
-	(2,'%internal_ips,%internal_domains','!%internal_domains');
-/* Default Inbound System Policy */
-INSERT INTO @PREFIX@policy_members (PolicyID,Source,Destination) VALUES
-	(3,'!%internal_ips,!%internal_domains','%internal_domains');
-/* Default Internal System Policy */
-INSERT INTO @PREFIX@policy_members (PolicyID,Source,Destination) VALUES
-	(4,'%internal_ips,%internal_domains','%internal_domains');
-/* Test Policy */
-INSERT INTO @PREFIX@policy_members (PolicyID,Source,Destination) VALUES
-	(5,'@example.net',NULL);
-
-
-
-/* Groups usable in ACL */
-CREATE TABLE @PREFIX@policy_groups (
-	ID			@SERIAL_TYPE@,
-
-	Name			VARCHAR(255) NOT NULL,
-
-
-	Disabled		SMALLINT NOT NULL DEFAULT '0',
-
-	Comment			VARCHAR(1024),
-
-
-	UNIQUE (Name)
-)  @CREATE_TABLE_SUFFIX@;
-
-INSERT INTO @PREFIX@policy_groups (Name) VALUES ('internal_ips');
-INSERT INTO @PREFIX@policy_groups (Name) VALUES ('internal_domains');
-
-
-
-/* Group members */
-CREATE TABLE @PREFIX@policy_group_members (
-	ID			@SERIAL_TYPE@,
-
-	PolicyGroupID		@SERIAL_REF_TYPE@,
-
-	/* Format of member: a.b.c.d/e = ip,  @domain = domain, %xyz = xyz group, abc@domain = abc user */
-	Member			VARCHAR(255) NOT NULL,
-	
-
-	Disabled		SMALLINT NOT NULL DEFAULT '0',
-	Comment			VARCHAR(1024),
-
-
-	FOREIGN KEY (PolicyGroupID) REFERENCES @PREFIX@policy_groups(ID)
-)  @CREATE_TABLE_SUFFIX@;
-
-INSERT INTO @PREFIX@policy_group_members (PolicyGroupID,Member) VALUES (1,'10.0.0.0/8');
-INSERT INTO @PREFIX@policy_group_members (PolicyGroupID,Member) VALUES (2,'@example.org');
-INSERT INTO @PREFIX@policy_group_members (PolicyGroupID,Member) VALUES (2,'@example.com');
-
-
-
-/* Message session tracking */
-CREATE TABLE @PREFIX@session_tracking (
-	Instance		VARCHAR(255),
-	QueueID			VARCHAR(255),
-
-	Timestamp		BIGINT NOT NULL,
-
-	ClientAddress		VARCHAR(64),
-	ClientName		VARCHAR(255),
-	ClientReverseName	VARCHAR(255),
-
-	Protocol		VARCHAR(255),
-
-	EncryptionProtocol	VARCHAR(255),
-	EncryptionCipher	VARCHAR(255),
-	EncryptionKeySize	VARCHAR(255),
-
-	SASLMethod		VARCHAR(255),
-	SASLSender		VARCHAR(255),
-	SASLUsername		VARCHAR(255),
-
-	Helo			VARCHAR(255),
-
-	Sender			VARCHAR(255),
-
-	Size			@BIG_INTEGER@,
-
-	RecipientData		TEXT,  /* Policy state information */
-
-	UNIQUE (Instance)
-)  @CREATE_TABLE_SUFFIX@;
-CREATE INDEX @PREFIX@session_tracking_idx1 ON @PREFIX@session_tracking (QueueID,ClientAddress,Sender);
-CREATE INDEX @PREFIX@session_tracking_idx2 ON @PREFIX@session_tracking (Timestamp);
-
-
-
-- 
GitLab