-- -- CWL - custom white list -- CREATE TABLE cwl_ips ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_ip varchar( 39 ) ); CREATE UNIQUE INDEX cwl_ips_uk ON cwl_ips( recipient_domain, sender_ip ); CREATE TABLE cwl_domains ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_domain varchar( 255 ) ); CREATE UNIQUE INDEX cwl_domains_uk ON cwl_domains( recipient_domain, sender_domain ); CREATE TABLE cwl_addresses ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_address varchar( 255 ) ); CREATE UNIQUE INDEX cwl_addresses_uk ON cwl_addresses( recipient_domain, sender_address ); -- -- CBL - custom black list -- CREATE TABLE cbl_ips ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_ip varchar( 39 ) ); CREATE UNIQUE INDEX cbl_ips_uk ON cbl_ips( recipient_domain, sender_ip ); CREATE TABLE cbl_domains ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_domain varchar( 255 ) ); CREATE UNIQUE INDEX cbl_domains_uk ON cbl_domains( recipient_domain, sender_domain ); CREATE TABLE cbl_addresses ( id INTEGER PRIMARY KEY, recipient_domain varchar( 255 ), sender_address varchar( 255 ) ); CREATE UNIQUE INDEX cbl_addresses_uk ON cbl_addresses( recipient_domain, sender_address ); -- -- Greylist -- -- contains all sender host ips, which are or are to be -- whitelisted due to lot's of positives CREATE TABLE greylist_client_addresss ( id INTEGER PRIMARY KEY, client_address VARCHAR( 39 ), data TEXT ); CREATE UNIQUE INDEX greylist_client_addresss_uk ON greylist_client_addresss( client_address ); -- contains all sender_domains, which are or are to be -- whitelisted due to lot's of positives CREATE TABLE greylist_sender_domain ( id INTEGER PRIMARY KEY, sender_domain varchar( 255 ), data TEXT ); CREATE UNIQUE INDEX greylist_sender_domain_uk ON greylist_sender_domain( sender_domain ); -- contains all (sender -> recipient) address pairs which -- are used to allow the second send attempt CREATE TABLE greylist_sender_recipient ( id INTEGER PRIMARY KEY, sender_address varchar( 255 ), recipient_address varchar( 255 ), data TEXT ); CREATE UNIQUE INDEX greylist_sender_recipient_uk ON greylist_sender_recipient( sender_address, recipient_address ); -- -- Honeypot -- CREATE TABLE honeypot_client_address ( id INTEGER PRIMARY KEY, client_address varchar( 39 ) ); CREATE UNIQUE INDEX honeypot_client_address_uk ON honeypot_client_address( client_address ); -- -- Throttle -- CREATE TABLE throttle_client_address ( id INTEGER PRIMARY KEY, client_address VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_client_address_uk ON throttle_client_address( client_address, interval ); CREATE TABLE throttle_sender_domain ( id INTEGER PRIMARY KEY, sender_domain VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_sender_domain_uk ON throttle_sender_domain( sender_domain, interval ); CREATE TABLE throttle_sender_address( id INTEGER PRIMARY KEY, sender_address VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_sender_address_uk ON throttle_sender_address( sender_address, interval ); CREATE TABLE throttle_sasl_username( id INTEGER PRIMARY KEY, sasl_username VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_sasl_username_uk ON throttle_sasl_username( sasl_username, interval ); CREATE TABLE throttle_recipient_domain( id INTEGER PRIMARY KEY, recipient_domain VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_recipient_domain_uk ON throttle_recipient_domain( recipient_domain, interval ); CREATE TABLE throttle_recipient_address( id INTEGER PRIMARY KEY, recipient_address VARCHAR( 255 ), interval INTEGER, maximum INTEGER, account VARCHAR( 25 ) ); CREATE UNIQUE INDEX throttle_recipient_address_uk ON throttle_recipient_address( recipient_address, interval ); CREATE TABLE throttle_account( id INTEGER PRIMARY KEY, account VARCHAR( 255 ), interval INTEGER, maximum INTEGER ); CREATE UNIQUE INDEX throttle_account_uk ON throttle_account( account, interval );