Initial commit.

This commit is contained in:
2021-05-24 22:18:33 +03:00
commit e2954d55f4
3701 changed files with 330017 additions and 0 deletions

11
sqlgrey/README Normal file
View File

@@ -0,0 +1,11 @@
README file for sqlgrey updated content
Don't touch these files, they are automatically updated when
you run update_sqlgrey_config:
- clients_fqdn_whitelist: don't greylist these DNS names [*]
- clients_ip_whitelist : don't greylist these IP addresses [*]
- dyn_fqdn.regexp : used by new 'smart' algorithm [x]
- smtp_server.regexp : used by new 'smart' algortihm [x]
[*]: in use starting with 1.4.0
[x]: in use since 1.5.1, regexps looking for known fqdns patterns

View File

@@ -0,0 +1,105 @@
##
# SQLgrey expects the following expressions:
#
# hostname.domain.com # whole system name (least CPU intensive)
# *.domain.com # whitelist any fqdn in the domain 'domain.com'
# /regexp/ # whitelist any fqdn matching the regexp (by far most CPU intensive)
# Note you need the following two lines to allow both
# <lots of mtas>.example.com and example.com
# *.example.com
# example.com
# Do not add anything here (this file can be overwritten by SQLgrey updates and
# update_sqlgrey_config), create a "clients_fqdn_whitelist.local" file
# and add your own entries in there
###################
# greylisting.org #
###################
# No retry
*.southwest.com
*.scd.yahoo.com
*.ameritradeinfo.com
*.amazon.com
# wierd retry pattern
isp.belgacom.be
############
# postgrey #
############
# No retry
*.karger.ch
gw.bas.roche.com
mail.hhlaw.com
prd051.appliedbiosystems.com
*.swissre.com
/^ms-smtp.*\.rr\.com$/
/^lake.*mta.*\.cox\.net$/
*.mot.com
*.cs.columbia.edu
cs.columbia.edu
p01m1689.mxlogic.net
p02m169.mxlogic.net
# Address verification
*.nic.fr
/^sc\d+pub\.verizon\.net$/
*.freshmeat.net
# Slow retry (4 hours or more)
server-x001.hostpoint.ch
accor-hotels.com
/^mail\d+\.telekom\.de$/
/^smtp\d+\.tiscali\.dk$/
# Unique sender with letters
returns.dowjones.com
*.zd-swx.com
lockergnome.wc09.net
# Pool on different subnets
/^fmr\d+\.intel\.com$/
#############################
# Reported by SQLgrey users #
#############################
# No retry
unitymail.alapage.com # Alapage newsletter
smtp.mandrake.org # mandrake newsletter
smtp.mandriva.org # mandriva (previously MandrakeSoft) newsletter
*.emailebay.com # eBay mailservers
public.wavexservices.com # Wavex Services Mail Server
mail.optimumreturn.com # E-commerce ASP solution (W Hotels use them)
###########################
# Requested by MTA admins #
###########################
# Ciphired (they need low-latency for their challenge-response system)
mx.00.zh.cs.ciphire.net
mx.01.zh.cs.ciphire.net
mx.00.mc.cs.ciphire.net
mx.01.mc.cs.ciphire.net
mx.00.by.cs.ciphire.net
mx.01.by.cs.ciphire.net
# Bigfish.com: reported to only try once from one IP then only once
# on another
mail-par.bigfish.com
mail-haw.bigfish.com
# CAcert: no retry
*.cacert.org
# GL-group: no retry
mail.gl-group.com
# Do not add anything here (this file can be overwritten by SQLgrey updates and
# update_sqlgrey_config), create a "clients_fqdn_whitelist.local" file
# and add your own entries in there

View File

View File

@@ -0,0 +1,97 @@
# Do not add anything here (this file can be overwritten by SQlgrey updates or
# update_sqlgrey_config), create a "clients_ip_whitelist.local" file
# and add your own entries in there
# Reference : http://www.greylisting.org
12.5.136.141 # Southwest Airlines (unique sender, no retry)
12.5.136.142 # Southwest Airlines (unique sender, no retry)
# kernel.org isn't hosted by RedHat anymore
#12.107.209.244 # kernel.org mailing lists (high traffic, unique sender per mail)
12.107.209.250 # sourceware.org mailing lists (high traffic, unique sender per mail)
63.82.37.110 # SLmail
64.7.153.18 # sentex.ca (common pool)
64.12.137 # AOL (common pool) - http://postmaster.aol.com/servers/imo.html
64.12.138 # AOL (common pool)
64.124.204.39 # moveon.org (unique sender per attempt)
64.125.132.254 # collab.net (unique sender per attempt)
#64.233.170 # gmail (common server pool)
#65.82.241.160 # Groupwise?
#66.94.237 # Yahoo Groups?
66.100.210.82 # Groupwise?
66.135.209 # Ebay (for time critical alerts)
66.135.197 # Ebay (common pool)
66.162.216.166 # Groupwise?
66.206.22.82 # PLEXOR
66.206.22.83 # PLEXOR
66.206.22.84 # PLEXOR
66.206.22.85 # PLEXOR
66.218.66 # Yahoo Groups servers (common pool, no retry)
66.218.67 # Yahoo Groups servers (common pool, no retry)
66.218.69 # Yahoo Groups servers (common pool, no retry)
66.27.51.218 # ljbtc.com (Groupwise)
#66.89.73.101 # Groupwise?
#68.15.115.88 # Groupwise?
152.163.225 # AOL (common pool)
194.245.101.88 # Joker.com (email forwarding server)
195.235.39.19 # Tid InfoMail Exchanger v2.20
195.238.2.105 # skynet.be (wierd retry pattern)
195.238.2.124 # skynet.be (common pool)
195.238.3.12 # skynet.be (common pool)
195.238.3.13 # skynet.be (common pool)
#204.60.8.162 # Groupwise?
204.107.120.10 # Ameritrade (no retry)
205.188.139.136 # AOL (common pool)
205.188.139.137 # AOL (common pool)
205.188.144.207 # AOL (common pool)
205.188.144.208 # AOL (common pool)
205.188.156.66 # AOL (common pool)
205.188.157 # AOL (common pool)
205.188.159.7 # AOL (common pool)
205.206.231 # SecurityFocus.com (unique sender per attempt)
205.211.164.50 # sentex.ca (common pool)
207.115.63 # Prodigy (broken software that retries continually with no delay)
207.171.168 # Amazon.com (common pool)
207.171.180 # Amazon.com (common pool)
207.171.187 # Amazon.com (common pool)
207.171.188 # Amazon.com (common pool)
207.171.190 # Amazon.com (common pool)
211.29.132 # optusnet.com.au (wierd retry pattern and more than 48hrs)
213.136.52.31 # Mysql.com (unique sender)
#216.136.226.0 # Yahoo Mail?
#216.157.204.5 # Groupwise?
217.158.50.178 # AXKit mailing list (unique sender per attempt)
#############################
# Reported by SQLgrey users #
#############################
# Reminder: the following entry is supposed to solve the problem by 2006
# discovery.acnatsci.org (use groupwise 5.5, 450 is a 554 for them)
192.204.19.13
# Free.fr uses a separate pool for retries
# the "first try" servers are smtp?-g19.free.fr, all servers are in the same
# class C network which is used for free/proxad servers
212.27.42
# Do not add anything here (this file can be overwritten by SQlgrey updates or
# update_sqlgrey_config), create a "clients_ip_whitelist.local" file
# and add your own entries in there
# CUSTOM
86.104.210.218 # efa.898.ro
89.121.131.74 # zira.898.ro
188.214.17.248 # kumba.898.ro
188.215.64.247 # cpanel.898.ro
# Google
35.190.247.0/24
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
108.177.8.0/21
173.194.0.0/16
209.85.128.0/17
216.58.192.0/19
216.239.32.0/19

View File

View File

@@ -0,0 +1,37 @@
# Discrimination regular expressions.
#
# Format:
# <postfix_attributes> <comparison_operator> <regular_expression>
#
# Format Explained:
# regular_expression = any valid perl regular expression
# comparison_operator = either =~ for equal to, or !~ for NOT equal to.
# postfix_attributes = Any valid attribute delivered from postfix.
# Common values: client_address, client_name, helo_name, sender, recipient
#
# A few usefull examples and defaults.
# Only greylist if one of the following expressions are true
# client_name =~ (yahoo|hotmail|dhcp|proxy)\. # An example on discimination simply based on parts
# of the reverse-dns
client_name =~ \.(cn|br|tw|jp|th|nz)$ # if reverse-dns of client is one of theese TLD's
#
# Or the other way around:
# client_name !~ \.(dk|uk|fi|no|se)$ # if reverse dont is NOT one of theese
sender =~ \.(com|net|org)@ # If sender address is like eg. "free-stuff.com@hotmail.com"
helo_name !~ \w\.[a-zA-Z]{2,4}$ # If helo doesnt contain a fqdn
client_name =~ ^unknown$ # No reverse DNS
client_name =~ \d+-\d+-\d+-\d+ # Looks like DSL line
client_name =~ ^.{0,3}0?x[0-9a-f]{8} # Looks like DSL line
client_name =~ (gmail|hotma\w+|yahoo)\.\w+$ # if reverse-dns of client is one of theese TLD's
#Accounts names that typically recieve tons of spam
recipient =~ ^(admin(istrator)?|info|advertising|contact|guest|uucp|test|service|promo|(host|web)master|account(ing|s))@
# sender =~ (microsoft|paypal|ebay|FREE) # if any part of the sender is one of theese

1
sqlgrey/dyn_fqdn.regexp Normal file
View File

@@ -0,0 +1 @@
(^|[0-9.x_-])(abo|br(e|oa)dband|cabel|(hk)?cablep?|catv|cbl|cidr|d?client2?|cust(omer)?s?|dhcp|dial?(in|up)?|d[iu]p|[asx]?dsld?|dyn(a(dsl|mic)?)?|home|in-addr|modem(cable)?|(di)?pool|ppp|ptr|rev|static|user|YahooBB[0-9]{12}|c[[:alnum:]]{6,}(\.[a-z]{3})?\.virtua|[1-9]Cust[0-9]+|AC[A-Z][0-9A-F]{5}\.ipt|pcp[0-9]{6,}pcs|S0106[[:alnum:]]{12,}\.[a-z]{2})[0-9.x_-]

View File

@@ -0,0 +1 @@
^(.+[._-])*(apache|bounce|bulk|delay|d?ns|external|extranet|filter|firewall|forward|gateway|gw|m?liste?s?|(bulk|dead|mass|send|[eqw])?mail(er)?|e?mail(agent|host|hub|scan(ner)?)|messagerie|mta|v?mx|out(bound)?|pop|postfix|w?proxy|rela(is|y)|serveu?r|smarthost|v?smtp|web|www)(gate|mail|mx|pool|out|server)?[0-9]*[._-]

227
sqlgrey/sqlgrey.conf Normal file
View File

@@ -0,0 +1,227 @@
#########################
## SQLgrey config file ##
#########################
# Notes:
# - Unless specified otherwise commented settings are SQLgrey's defaults
# - SQLgrey uses a specific config file when called with -f <conf_file>
## Configuration files
conf_dir = /etc/sqlgrey
## Log level
# Uncomment to change the log level (default is normal: 2)
# nothing: O, errors only: 0, warnings: 1, normal: 2, verbose: 3, debug: 4
loglevel = 2
## log categories can be fine-tuned,
# here are the log messages sorted by types and levels,
# (anything over the loglevel is discarded):
#
# grey : (0) internal errors,
# (2) initial connections, early reconnections,
# awl matches, successful reconnections, AWL additions,
# (3) smart decision process debug,
# whitelist: (2) whitelisted connections,
# (3) actual whitelist hit,
# (4) whitelists reloads,
# optin: (3) optin/optout global result
# (4) optin/optout SQL query results
# spam : (2) attempts never retried,
# mail : (1) error sending mails,
# (4) rate-limiter debug,
# dbaccess : (0) DB errors,
# (1) DB upgrade,
# (2) DB upgrade details,
# martians : (2) invalid e-mail addresses,
# perf : (2) cleanup time,
# system : (0) error forking,
# (3) forked children PIDs, children exits,
# conf : (0) errors in config files, missing required file,
# (1) warnings in config files,
# missing optional configuration files,
# (2) reloading configuration files,
# other : (4) Startup cleanup
# you can set a level to O (capital o) to disable logs completely,
# but be aware that then SQLgrey can come back to haunt you...
# Provide a coma-separated "logtype:loglevel" string
# For example if you set the loglevel to 3 (verbose) but want SQLgrey to be:
# . quiet for whitelists
# . normal for greylisting
# uncomment the following line.
log_override = whitelist:1,grey:2,spam:2,martians:2
# By default, log_override is empty
## Log identification
# by default this is the process name. If you define the following variable
# SQLgrey will use whatever you set it to
# log_ident =
## username and groupname the daemon runs as
user = sqlgrey
group = sqlgrey
## Socket
# On which socket do SQLgrey wait for queries
# use the following if you need to bind on a public IP address
# inet = <public_ip>:2501
# to bind on a UNIX socket, use the following:
# unix = /path/to/socket
# default :
inet = 2501 # bind to localhost:2501
## PID
# where to store the process PID
pidfile = /var/run/sqlgrey.pid
## Greylisting delays
# If you want to be really strict (RFC-wise) use these
# This is *not* recommended, you'll have false positives
# reconnect_delay = 15 # don't allow a reconnection before 15 minutes
# max_connect_age = 2 # don't allow a reconnection after 2 hours
# default: (based on real-life experience)
# reconnect_delay = 5
# max_connect_age = 24
## Throttling too many new entries from new host
# Setting this optional parameter will refuse an excessive number of
# new entries in the connect table from the same host, in the following
# manner:
# - If there are already "connect_src_throttle" entries in the connect
# table from the same host (e-mails which have not been retried yet)
# - And there is NO entry for this host in domain_awl
# - And there are LESS than "connect_src_throttle" entries in the
# from_awl table for this host
# THEN further incoming connections from this host will be (temporarily)
# refused without new entries being created in the connect table (until
# some already waiting entries have been successfully retried).
# This feature may prevent the connect table from growing too big and
# being polluted by spambots, viruses, zombie machines and the like.
# If set to "0" (default), this feature won't be used.
connect_src_throttle = 5
## Auto whitelists settings
# default is tailored for small sites
awl_age = 60
group_domain_level = 2
# For bigger sites you may want
# a smaller awl_age and a bigger group_domain_level
# awl_age = 32 # (monthly newsletter will get through)
# group_domain_level = 10 # wait for 10 validated adresses to add a whole
# domain in AWL
## Database settings
# instead of Pg below use "mysql" for MySQL, "SQLite" for SQLite
# any DBD driver is allowed, but only the previous 3 have been tested
# db_type = Pg
# db_type = SQLite
# db_name = sqlgrey
# db_name = /var/lib/sqlgrey/sqlgrey.db
# Note: the following are not used with SQLite
db_type = mysql
db_name = sqlgrey
db_host = localhost
db_port = default
db_user = sqlgrey
db_pass = rm8n9toa
# (overrides db_type, db_name, db_host, db_port)
# db_dsn = DBI:SQLite:dbname=/path/to/database.db
# db_dsn = DBI:mysql:database=sqlgrey;host=localhost;port=3306
#
# db_prepare_cache = 0 # use prepared statements cache
# BEWARE: memory leaks have been reported
# when it is active
db_cleandelay = 1800 # in seconds, how much time between database cleanups
clean_method = sync # sync : cleanup is done in the main process,
# delaying other operations
# async: cleanup is done in a forked process,
# it won't delay mail processing
# BEWARE: lockups have been reported
# and are still investigated
## Database clustering (for advanced setups)
#
# See README.DBCLUSTER
#
# Writes will be done to db_host specified above, and reads will be done
# from read_hosts specified below
#
# Valid options: on/off. If set to 'on', clustering will be enabled.
# db_cluster = on
#
# Comma seperated list of read-only db-servers.
# read_hosts= slave-db-1.test.com, slave-db-2.test.com ,slave-db-3.test.com
# read_hosts=localhost
## X-Greylist header added?
# This adds delay, whitelist and autowhitelist information in the headers
prepend = 1
## Greylisting method:
# - full : greylist by IP address
# - classc : greylist by class C network. eg:
# 2.3.4.6 connection accepted if 2.3.4.145 did connect earlier.
# - smart : greylist by class C network unless there is no reverse lookup
# or it looks like a home-user address.
# NOTE: IPv6 addresses are treated the same way in 'classc' and 'smart':
# First the algorithm decides whether the address is in a EUI-64 form
# or not. If it is then the whole /64 subnet is regarded as "class C"
# and all the hosts from that subnet are greylisted with the same
# rule. For non-EUI-64 addresses the full address is processed.
# Default is smart
# greymethod = smart
## Optin/Optout (see README.OPTINOUT for details)
# - none : everyone is greylisted (default)
# - optin : one must optin to have its (incoming) messages being greylisted
# - optout : one must optout to not have its messages being greylisted
optmethod = optout
## Discriminating Greylisting (see README.DISCRIMINATION)
# - off : normal greylisting
# - on : Only apply greylisting to senders that do not pass the regexp test.
#
# discrimination = off
# Display the number of the regular expression causing the greylisting
# at the end of the reject message.
# Values: on/off
# discrimination_add_rulenr = off
## SQLgrey return value.
# SQLgrey can tell Postfix to:
# - immediately reject a message with a temporary reject code
# - only do so if following rules would allow the message to pass
# The first choice will prevent Postfix from spending time evaluating
# potentially expensive rules.
# In some cases you may want following rules to be aware of the connection
# this.
#
# We can specify a different rejection strategy for the first connection
# attempt, and for early reconnections. 'immed' chooses immediate rejection
# 'delay' choose delayed rejection
#
# By default we use delay on first attempt
reject_first_attempt = delay
# Default for early reconnection is the value affected to reject_first_attempt
reject_early_reconnect = delay
# Use specific reject code - Only used if reject_first_attempt/reject_early_reconnect = immed
# (Some "odd" mailservers actually bounce on 450 but not 451)
reject_code = 451
# reject_code = dunno
## Update server
# where to get updates for whitelists
whitelists_host = sqlgrey.bouton.name
## Postmaster address
# who gets urgent notifications (DB is down for example)
# empty: don't send mail notifications
# default:
# admin_mail = postmaster

146
sqlgrey/sqlgrey.sql Normal file
View File

@@ -0,0 +1,146 @@
-- MySQL dump 10.16 Distrib 10.1.32-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: sqlgrey
-- ------------------------------------------------------
-- Server version 10.1.32-MariaDB
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `config`
--
DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
`parameter` varchar(255) NOT NULL,
`value` varchar(255) DEFAULT NULL,
PRIMARY KEY (`parameter`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `connect`
--
DROP TABLE IF EXISTS `connect`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `connect` (
`sender_name` varchar(64) NOT NULL,
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`rcpt` varchar(255) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `connect_idx` (`src`,`sender_domain`,`sender_name`),
KEY `connect_fseen` (`first_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `domain_awl`
--
DROP TABLE IF EXISTS `domain_awl`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `domain_awl` (
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`last_seen` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`src`,`sender_domain`),
KEY `domain_awl_lseen` (`last_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `from_awl`
--
DROP TABLE IF EXISTS `from_awl`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `from_awl` (
`sender_name` varchar(64) NOT NULL,
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`last_seen` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`src`,`sender_domain`,`sender_name`),
KEY `from_awl_lseen` (`last_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `optin_domain`
--
DROP TABLE IF EXISTS `optin_domain`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `optin_domain` (
`domain` varchar(255) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `optin_email`
--
DROP TABLE IF EXISTS `optin_email`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `optin_email` (
`email` varchar(255) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `optout_domain`
--
DROP TABLE IF EXISTS `optout_domain`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `optout_domain` (
`domain` varchar(255) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `optout_email`
--
DROP TABLE IF EXISTS `optout_email`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `optout_email` (
`email` varchar(255) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2019-02-23 18:46:43