mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Merge pull request #3750 from modoboa/fix/dns_logs
Stop logging DNS issues to the database
This commit is contained in:
@@ -130,6 +130,36 @@ Rebuild Virtual Environment
|
||||
Specific instructions
|
||||
*********************
|
||||
|
||||
Version 2.6.1
|
||||
=============
|
||||
|
||||
Required changes to :file:`settings.py`
|
||||
---------------------------------------
|
||||
|
||||
- Add the following lines to ``LOGGING`` variable:
|
||||
|
||||
.. sourcecode:: python
|
||||
|
||||
'handlers': {
|
||||
...
|
||||
'syslog': {
|
||||
'class': 'logging.handlers.SysLogHandler',
|
||||
'facility': SysLogHandler.LOG_SYSLOG,
|
||||
'formatter': 'syslog'
|
||||
},
|
||||
...
|
||||
},
|
||||
'loggers': {
|
||||
...
|
||||
'modoboa.dns': {
|
||||
'handlers': ['syslog'],
|
||||
'level': 'INFO',
|
||||
'propagate': False
|
||||
},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
Version 2.6.0
|
||||
=============
|
||||
|
||||
|
||||
@@ -213,7 +213,7 @@ def get_authoritative_resolver(domain, resolver=None):
|
||||
|
||||
def get_dns_records(name, typ, resolver=None):
|
||||
"""Retrieve DNS records for given name and type."""
|
||||
logger = logging.getLogger("modoboa.admin")
|
||||
logger = logging.getLogger("modoboa.dns")
|
||||
|
||||
try:
|
||||
resolver = get_authoritative_resolver(name, resolver=resolver)
|
||||
@@ -242,7 +242,7 @@ def get_dns_records(name, typ, resolver=None):
|
||||
def get_domain_mx_list(domain):
|
||||
"""Return a list of MX IP address for domain."""
|
||||
result = []
|
||||
logger = logging.getLogger("modoboa.admin")
|
||||
logger = logging.getLogger("modoboa.dns")
|
||||
resolver = get_dns_resolver()
|
||||
dns_answers = get_dns_records(domain, "MX", resolver)
|
||||
if dns_answers is None:
|
||||
|
||||
@@ -138,7 +138,7 @@ class MXTestCase(ModoTestCase):
|
||||
"""Test to get error loggins from specific DNS server."""
|
||||
mock_query.side_effect = utils.mock_dns_query_result
|
||||
mock_ip_address.side_effect = utils.mock_ip_address_result
|
||||
with LogCapture("modoboa.admin") as log:
|
||||
with LogCapture("modoboa.dns") as log:
|
||||
get_domain_mx_list("does-not-exist.example.com")
|
||||
get_domain_mx_list("no-mx.example.com")
|
||||
get_domain_mx_list("no-ns-servers.example.com")
|
||||
@@ -148,36 +148,36 @@ class MXTestCase(ModoTestCase):
|
||||
get_domain_mx_list("bad-response.example.com")
|
||||
log.check(
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"ERROR",
|
||||
_("No DNS record found for %s") % "does-not-exist.example.com",
|
||||
),
|
||||
("modoboa.admin", "ERROR", _("No MX record for %s") % "no-mx.example.com"),
|
||||
("modoboa.admin", "ERROR", _("No working name servers found")),
|
||||
("modoboa.dns", "ERROR", _("No MX record for %s") % "no-mx.example.com"),
|
||||
("modoboa.dns", "ERROR", _("No working name servers found")),
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"WARNING",
|
||||
_("DNS resolution timeout, unable to query %s at the moment")
|
||||
% "timeout.example.com",
|
||||
),
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"ERROR",
|
||||
_("No DNS record found for %s") % "does-not-exist.example.com",
|
||||
),
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"ERROR",
|
||||
_("No DNS record found for %s") % "does-not-exist.example.com",
|
||||
),
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"WARNING",
|
||||
_("Invalid IP address format for %(domain)s; %(addr)s")
|
||||
% {"domain": "bad-response.example.com", "addr": "000.0.0.0"},
|
||||
),
|
||||
(
|
||||
"modoboa.admin",
|
||||
"modoboa.dns",
|
||||
"WARNING",
|
||||
_("Invalid IP address format for %(domain)s; %(addr)s")
|
||||
% {"domain": "bad-response.example.com", "addr": "000.0.0.0"},
|
||||
@@ -193,15 +193,15 @@ class MXTestCase(ModoTestCase):
|
||||
localconfig = core_models.LocalConfig.objects.first()
|
||||
localconfig.parameters.set_value("enable_ipv6_mx_checks", True, "admin")
|
||||
localconfig.save()
|
||||
with LogCapture("modoboa.admin") as log:
|
||||
with LogCapture("modoboa.dns") as log:
|
||||
get_domain_mx_list("test3.com")
|
||||
log.check(
|
||||
("modoboa.admin", "ERROR", _("No AAAA record for %s") % "mx3.example.com")
|
||||
("modoboa.dns", "ERROR", _("No AAAA record for %s") % "mx3.example.com")
|
||||
)
|
||||
localconfig = core_models.LocalConfig.objects.first()
|
||||
localconfig.parameters.set_value("enable_ipv6_mx_checks", False, "admin")
|
||||
localconfig.save()
|
||||
with LogCapture("modoboa.admin") as log2:
|
||||
with LogCapture("modoboa.dns") as log2:
|
||||
get_domain_mx_list("test3.com")
|
||||
log2.check()
|
||||
|
||||
|
||||
@@ -361,6 +361,11 @@ LOGGING = {
|
||||
'facility': SysLogHandler.LOG_MAIL,
|
||||
'formatter': 'syslog'
|
||||
},
|
||||
'syslog': {
|
||||
'class': 'logging.handlers.SysLogHandler',
|
||||
'facility': SysLogHandler.LOG_SYSLOG,
|
||||
'formatter': 'syslog'
|
||||
},
|
||||
'modoboa': {
|
||||
'class': 'modoboa.core.loggers.SQLHandler',
|
||||
}
|
||||
@@ -381,6 +386,11 @@ LOGGING = {
|
||||
'level': 'INFO',
|
||||
'propagate': False
|
||||
},
|
||||
'modoboa.dns': {
|
||||
'handlers': ['syslog'],
|
||||
'level': 'INFO',
|
||||
'propagate': False
|
||||
},
|
||||
'modoboa.policyd': {
|
||||
'handlers': ['syslog-mail'],
|
||||
'level': 'INFO',
|
||||
|
||||
Reference in New Issue
Block a user