]> WPIA git - gigi.git/blob - doc/tableStructure.sql
Implement certificate profiles in java code.
[gigi.git] / doc / tableStructure.sql
1 DROP TABLE IF EXISTS `users`;
2 CREATE TABLE `users` (
3   `id` int(11) NOT NULL AUTO_INCREMENT,
4   `email` varchar(255) NOT NULL DEFAULT '',
5   `password` varchar(255) NOT NULL DEFAULT '',
6   `fname` varchar(255) NOT NULL DEFAULT '',
7   `mname` varchar(255) NOT NULL DEFAULT '',
8   `lname` varchar(255) NOT NULL DEFAULT '',
9   `suffix` varchar(50) NOT NULL DEFAULT '',
10   `dob` date NOT NULL DEFAULT '0000-00-00',
11   `verified` int(1) NOT NULL DEFAULT '0',
12   `ccid` int(3) NOT NULL DEFAULT '0',
13   `regid` int(5) NOT NULL DEFAULT '0',
14   `locid` int(7) NOT NULL DEFAULT '0',
15   `listme` int(1) NOT NULL DEFAULT '0',
16   `admin` tinyint(1) NOT NULL DEFAULT '0',
17   `language` varchar(5) NOT NULL DEFAULT '',
18   `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
19   `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
20   `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
21   `locked` tinyint(1) NOT NULL DEFAULT '0',
22   `assurer_blocked` tinyint(1) NOT NULL DEFAULT '0',
23   PRIMARY KEY (`id`),
24   KEY `ccid` (`ccid`),
25   KEY `regid` (`regid`),
26   KEY `locid` (`locid`),
27   KEY `email` (`email`),
28   KEY `stats_users_created` (`created`),
29   KEY `stats_users_verified` (`verified`),
30   KEY `userverified` (`verified`)
31 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
32
33
34 DROP TABLE IF EXISTS `domains`;
35 CREATE TABLE `domains` (
36   `id` int(11) NOT NULL AUTO_INCREMENT,
37   `memid` int(11) NOT NULL,
38   `domain` varchar(255) NOT NULL,
39   `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
40   `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
41   `deleted` datetime DEFAULT NULL,
42   PRIMARY KEY (`id`),
43   KEY `memid` (`memid`),
44   KEY `domain` (`domain`),
45   KEY `stats_domains_deleted` (`deleted`)
46 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
47
48 DROP TABLE IF EXISTS `emails`;
49 CREATE TABLE `emails` (
50   `id` int(11) NOT NULL AUTO_INCREMENT,
51   `memid` int(11) NOT NULL DEFAULT '0',
52   `email` varchar(255) NOT NULL DEFAULT '',
53   `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
54   `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
55   `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
56   `hash` varchar(50) NOT NULL DEFAULT '',
57   `attempts` int(1) NOT NULL DEFAULT '0',
58   PRIMARY KEY (`id`),
59   KEY `memid` (`memid`),
60   KEY `stats_email_hash` (`hash`),
61   KEY `stats_email_deleted` (`deleted`),
62   KEY `email` (`email`)
63 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
64
65 DROP TABLE IF EXISTS `pinglog`;
66 CREATE TABLE `pinglog` (
67   `when` datetime NOT NULL,
68   `uid` int(11) NOT NULL,
69   `email` varchar(255) NOT NULL,
70   `result` varchar(255) NOT NULL
71 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
72
73 DROP TABLE IF EXISTS `baddomains`;
74 CREATE TABLE `baddomains` (
75   `domain` varchar(255) NOT NULL DEFAULT ''
76 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
77
78
79 DROP TABLE IF EXISTS `alerts`;
80 CREATE TABLE `alerts` (
81   `memid` int(11) NOT NULL DEFAULT '0',
82   `general` tinyint(1) NOT NULL DEFAULT '0',
83   `country` tinyint(1) NOT NULL DEFAULT '0',
84   `regional` tinyint(1) NOT NULL DEFAULT '0',
85   `radius` tinyint(1) NOT NULL DEFAULT '0',
86   PRIMARY KEY (`memid`)
87 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
88
89 DROP TABLE IF EXISTS `user_agreements`;
90 CREATE TABLE `user_agreements` (
91   `id` int(11) NOT NULL AUTO_INCREMENT,
92   `memid` int(11) NOT NULL,
93   `secmemid` int(11) DEFAULT NULL,
94   `document` varchar(50) DEFAULT NULL,
95   `date` datetime DEFAULT NULL,
96   `active` int(1) NOT NULL,
97   `method` varchar(100) NOT NULL,
98   `comment` varchar(100) DEFAULT NULL,
99   PRIMARY KEY (`id`)
100 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
101
102 DROP TABLE IF EXISTS `certs`;
103 CREATE TABLE `certs` (
104   `id` int(11) NOT NULL AUTO_INCREMENT,
105   `memid` int(11) NOT NULL DEFAULT '0',
106   `serial` varchar(50) NOT NULL DEFAULT '',
107   `CN` varchar(255) NOT NULL DEFAULT '',
108   `subject` text NOT NULL,
109   `keytype` char(2) NOT NULL DEFAULT 'NS',
110   `codesign` tinyint(1) NOT NULL DEFAULT '0',
111   `md` enum('md5','sha1','sha256','sha512') NOT NULL DEFAULT 'sha512',
112   `profile` int(3) NOT NULL,
113
114   `csr_name` varchar(255) NOT NULL DEFAULT '',
115   `csr_type` enum('CSR', 'SPKAC') NOT NULL,
116   `crt_name` varchar(255) NOT NULL DEFAULT '',
117   `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
118   `modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
119   `revoked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
120   `expire` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
121   `renewed` tinyint(1) NOT NULL DEFAULT '0',
122   `disablelogin` int(1) NOT NULL DEFAULT '0',
123   `pkhash` char(40) DEFAULT NULL,
124   `certhash` char(40) DEFAULT NULL,
125   `description` varchar(100) NOT NULL DEFAULT '',
126   PRIMARY KEY (`id`),
127   KEY `emailcerts_pkhash` (`pkhash`),
128   KEY `revoked` (`revoked`),
129   KEY `created` (`created`),
130   KEY `memid` (`memid`),
131   KEY `serial` (`serial`),
132   KEY `stats_emailcerts_expire` (`expire`),
133   KEY `emailcrt` (`crt_name`)
134 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
135
136 DROP TABLE IF EXISTS `clientcerts`;
137 CREATE TABLE `clientcerts` (
138   `id` int(11) NOT NULL,
139   `disablelogin` int(1) NOT NULL DEFAULT '0',
140
141   PRIMARY KEY (`id`)
142 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
143
144 DROP TABLE IF EXISTS `profiles`;
145 CREATE TABLE `profiles` (
146   `id` int(3) NOT NULL AUTO_INCREMENT,
147   `keyname` varchar(10) NOT NULL,
148   `keyUsage` varchar(100) NOT NULL,
149   `extendedKeyUsage` varchar(100) NOT NULL,
150   `rootcert` int(2) NOT NULL DEFAULT '1',
151   `name` varchar(100) NOT NULL,
152   PRIMARY KEY (`id`),
153   UNIQUE (`keyname`)
154 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
155 INSERT INTO `profiles` SET keyname='client', name='ssl-client', keyUsage='digitalSignature, keyEncipherment, keyAgreement', extendedKeyUsage='clientAuth';
156 INSERT INTO `profiles` SET keyname='server', name='ssl-server', keyUsage='digitalSignature, keyEncipherment, keyAgreement', extendedKeyUsage='serverAuth';
157 INSERT INTO `profiles` SET keyname='mail',  name='mail', keyUsage='digitalSignature, keyEncipherment, keyAgreement', extendedKeyUsage='emailProtection';
158
159 DROP TABLE IF EXISTS `subjectAlternativeNames`;
160 CREATE TABLE `subjectAlternativeNames` (
161   `certId` int(11) NOT NULL,
162   `contents` varchar(50) NOT NULL,
163   `type` enum('email','DNS') NOT NULL
164 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
165
166
167
168
169 DROP TABLE IF EXISTS `jobs`;
170 CREATE TABLE `jobs` (
171   `id` int(11) NOT NULL AUTO_INCREMENT,
172   `targetId` int(11) NOT NULL,
173   `task` enum('sign','revoke') NOT NULL,
174   `state` enum('open', 'done', 'error') NOT NULL DEFAULT 'open',
175   `warning` int(2) NOT NULL DEFAULT '0',
176   PRIMARY KEY (`id`),
177   KEY `state` (`state`)
178 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
179
180
181 DROP TABLE IF EXISTS `notary`;
182 CREATE TABLE `notary` (
183   `id` int(11) NOT NULL AUTO_INCREMENT,
184   `from` int(11) NOT NULL DEFAULT '0',
185   `to` int(11) NOT NULL DEFAULT '0',
186   `awarded` int(3) NOT NULL DEFAULT '0',
187   `points` int(3) NOT NULL DEFAULT '0',
188   `method` enum('Face to Face Meeting','Trusted Third Parties','Thawte Points Transfer','Administrative Increase','CT Magazine - Germany','Temporary Increase','Unknown','TOPUP','TTP-Assisted') NOT NULL DEFAULT 'Face to Face Meeting',
189   `location` varchar(255) NOT NULL DEFAULT '',
190   `date` varchar(255) NOT NULL DEFAULT '',
191   `when` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
192   `expire` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
193   `sponsor` int(11) NOT NULL DEFAULT '0',
194   `deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
195   PRIMARY KEY (`id`),
196   KEY `from` (`from`),
197   KEY `to` (`to`),
198   KEY `from_2` (`from`),
199   KEY `to_2` (`to`),
200   KEY `stats_notary_when` (`when`),
201   KEY `stats_notary_method` (`method`)
202 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
203
204
205 DROP TABLE IF EXISTS `cats_passed`;
206 CREATE TABLE `cats_passed` (
207   `id` int(11) NOT NULL AUTO_INCREMENT,
208   `user_id` int(11) NOT NULL,
209   `variant_id` int(11) NOT NULL,
210   `pass_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
211   PRIMARY KEY (`id`),
212   UNIQUE KEY `test_passed` (`user_id`,`variant_id`,`pass_date`)
213 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
214
215 # --------------------------------------------------------
216
217 #
218 # Table structure for table `cats_type`
219 #
220
221 DROP TABLE IF EXISTS `cats_type`;
222 CREATE TABLE `cats_type` (
223   `id` int(11) NOT NULL AUTO_INCREMENT,
224   `type_text` varchar(255) NOT NULL,
225   PRIMARY KEY (`id`),
226   UNIQUE KEY `type_text` (`type_text`)
227 ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;