diff --git a/Bundler/sqlgrey.xml b/Bundler/sqlgrey.xml
new file mode 100644
index 0000000..2cef683
--- /dev/null
+++ b/Bundler/sqlgrey.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/clients_fqdn_whitelist.local b/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/clients_fqdn_whitelist.local
new file mode 100644
index 0000000..f3eeb5c
--- /dev/null
+++ b/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/clients_fqdn_whitelist.local
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+# Fichier gere par BCfg2
+#
+# A ne modifier que sur vert !
+
+# Gandi
+*.mail.gandi.net
diff --git a/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/info.xml b/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/info.xml
new file mode 100644
index 0000000..28fd470
--- /dev/null
+++ b/Cfg/etc/sqlgrey/clients_fqdn_whitelist.local/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Cfg/etc/sqlgrey/clients_ip_whitelist.local/clients_ip_whitelist.local b/Cfg/etc/sqlgrey/clients_ip_whitelist.local/clients_ip_whitelist.local
new file mode 100644
index 0000000..cbeeb0c
--- /dev/null
+++ b/Cfg/etc/sqlgrey/clients_ip_whitelist.local/clients_ip_whitelist.local
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Fichier gere par BCfg2
+#
+# A ne modifier que sur vert !
diff --git a/Cfg/etc/sqlgrey/clients_ip_whitelist.local/info.xml b/Cfg/etc/sqlgrey/clients_ip_whitelist.local/info.xml
new file mode 100644
index 0000000..28fd470
--- /dev/null
+++ b/Cfg/etc/sqlgrey/clients_ip_whitelist.local/info.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Metadata/groups.xml b/Metadata/groups.xml
index 3143d32..e73864d 100644
--- a/Metadata/groups.xml
+++ b/Metadata/groups.xml
@@ -927,12 +927,11 @@
-
-
+
diff --git a/Python/etc/sqlgrey/sqlgrey.conf b/Python/etc/sqlgrey/sqlgrey.conf
new file mode 100644
index 0000000..f792282
--- /dev/null
+++ b/Python/etc/sqlgrey/sqlgrey.conf
@@ -0,0 +1,192 @@
+info["owner"] = 'root'
+info["group"] = 'root'
+info["perms"] = 0644
+
+header()
+
+@#########################
+@## SQLgrey config file ##
+@#########################
+@
+@# Notes:
+@# - Unless specified otherwise commented settings are SQLgrey's defaults
+@# - SQLgrey uses a specific config file when called with -f
+@
+@## 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
+@# 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 = nogroup
+@
+@## Socket
+@# On which socket do SQLgrey wait for queries
+@# use the following if you need to bind on a public IP address
+@# inet = :port
+@# default :
+@# inet = 2501 # bind to localhost:2501
+@
+@## PID
+@# where to store the process PID
+@# pidfile = /var/run/sqlgrey.pid
+@
+@## Config directory
+@# where to look for other configuration files (whitelists)
+@# confdir = /etc/sqlgrey
+@
+@## 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 = 6
+@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 must be renewed at least once a month
+@# 32 > 31 (max delay between monthly newsletters)
+@awl_age = 33
+@# wait for 10 validated adresses to add a whole
+@# domain in AWL
+@group_domain_level = 10
+@
+@## 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_name = sqlgrey
+@# Note: the following are not used with SQLite
+@# On laisse rouge meme pour ovh, sqlgrey sait detecter s'il perd le
+@# lien avec la base.
+@db_host = rouge.adm.crans.org
+@
+@db_user = sqlgrey
+@# db_pass = spaces_are_not_supported
+@# 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
+@
+@## 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
+@# 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
+@
+@## 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
+@
+@## Update server
+@# where to get updates for whitelists
+@# whitelists_host = sqlgrey.bouton.name
+@
+@## Postmaster address
+@# who gets urgent notifications (DB is down for example)
+@# default or empty: don't send mail notifications
+@admin_mail = roots@crans.org
diff --git a/Rules/rules.xml b/Rules/rules.xml
index 345ff0d..a740a68 100644
--- a/Rules/rules.xml
+++ b/Rules/rules.xml
@@ -50,6 +50,8 @@
+
+