mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2025-01-26 05:27:29 +02:00
Remove old files, fix tagging
This commit is contained in:
parent
579b5483ab
commit
cad084598d
@ -1,26 +0,0 @@
|
|||||||
FROM ubuntu:xenial
|
|
||||||
MAINTAINER Andre Peters <andre.peters@debinux.de>
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
ENV LC_ALL C
|
|
||||||
|
|
||||||
RUN dpkg-divert --local --rename --add /sbin/initctl \
|
|
||||||
&& ln -sf /bin/true /sbin/initctl \
|
|
||||||
&& dpkg-divert --local --rename --add /usr/bin/ischroot \
|
|
||||||
&& ln -sf /bin/true /usr/bin/ischroot
|
|
||||||
|
|
||||||
RUN echo 'deb http://repo.powerdns.com/ubuntu xenial-rec-40 main' > /etc/apt/sources.list.d/pdns.list
|
|
||||||
|
|
||||||
RUN echo 'Package: pdns-*\n\
|
|
||||||
Pin: origin repo.powerdns.com\n\
|
|
||||||
Pin-Priority: 600\n' > /etc/apt/preferences.d/pdns
|
|
||||||
|
|
||||||
RUN apt-key adv --fetch-keys http://repo.powerdns.com/FD380FBB-pub.asc \
|
|
||||||
&& apt-get update \
|
|
||||||
&& apt-get install -y --force-yes pdns-recursor
|
|
||||||
|
|
||||||
CMD ["/usr/sbin/pdns_recursor"]
|
|
||||||
|
|
||||||
EXPOSE 53/udp
|
|
||||||
|
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
@ -1 +0,0 @@
|
|||||||
addNTA("mailcow-network", "nta for local")
|
|
@ -1,41 +0,0 @@
|
|||||||
allow-from=127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8
|
|
||||||
config-dir=/etc/powerdns
|
|
||||||
daemon=no
|
|
||||||
disable-syslog=yes
|
|
||||||
dnssec=process
|
|
||||||
dnssec-log-bogus=yes
|
|
||||||
dont-query=10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32
|
|
||||||
export-etc-hosts=off
|
|
||||||
# forward-zones=
|
|
||||||
forward-zones-recurse=mailcow-network.=127.0.0.11
|
|
||||||
local-address=0.0.0.0
|
|
||||||
local-port=53
|
|
||||||
loglevel=6
|
|
||||||
# lowercase-outgoing=no
|
|
||||||
lua-config-file=/etc/powerdns/pdns_custom.lua
|
|
||||||
# max-cache-entries=1000000
|
|
||||||
# max-cache-ttl=86400
|
|
||||||
# max-mthreads=2048
|
|
||||||
# max-negative-ttl=3600
|
|
||||||
# max-packetcache-entries=500000
|
|
||||||
# max-qperq=50
|
|
||||||
# max-tcp-clients=128
|
|
||||||
# max-tcp-per-client=0
|
|
||||||
# max-total-msec=7000
|
|
||||||
# minimum-ttl-override=0
|
|
||||||
# network-timeout=1500
|
|
||||||
# packetcache-servfail-ttl=60
|
|
||||||
# packetcache-ttl=3600
|
|
||||||
quiet=yes
|
|
||||||
# security-poll-suffix=secpoll.powerdns.com.
|
|
||||||
# serve-rfc1918=yes
|
|
||||||
# server-down-max-fails=64
|
|
||||||
# server-down-throttle-time=60
|
|
||||||
setgid=pdns
|
|
||||||
setuid=pdns
|
|
||||||
# spoof-nearmiss-max=20
|
|
||||||
# stack-size=200000
|
|
||||||
# threads=2
|
|
||||||
# trace=off
|
|
||||||
version-string=PowerDNS Recursor
|
|
||||||
webserver=no
|
|
@ -25,54 +25,34 @@ auth_domain_map = rspamd_config:add_map({
|
|||||||
|
|
||||||
rspamd_config.ADD_DELIMITER_TAG = {
|
rspamd_config.ADD_DELIMITER_TAG = {
|
||||||
callback = function(task)
|
callback = function(task)
|
||||||
tag = nil
|
local tag = nil
|
||||||
local tag_env = nil
|
|
||||||
local tag_to = nil
|
|
||||||
|
|
||||||
local util = require("rspamd_util")
|
local util = require("rspamd_util")
|
||||||
local rspamd_logger = require "rspamd_logger"
|
local rspamd_logger = require "rspamd_logger"
|
||||||
|
local user_tagged = task:get_recipients(2)[1]['user']
|
||||||
local user_env_tagged = task:get_recipients(1)[1]['user']
|
|
||||||
local user_to_tagged = task:get_recipients(2)[1]['user']
|
|
||||||
|
|
||||||
local domain = task:get_recipients(1)[1]['domain']
|
local domain = task:get_recipients(1)[1]['domain']
|
||||||
|
local user, tag = user_tagged:match("([^+]+)+(.*)")
|
||||||
local user_env, tag_env = user_env_tagged:match("([^+]+)+(.*)")
|
|
||||||
local user_to, tag_to = user_to_tagged:match("([^+]+)+(.*)")
|
|
||||||
|
|
||||||
local authdomain = auth_domain_map:get_key(domain)
|
local authdomain = auth_domain_map:get_key(domain)
|
||||||
|
|
||||||
if tag_env then
|
|
||||||
tag = tag_env
|
|
||||||
user = user_env
|
|
||||||
elseif tag_to then
|
|
||||||
tag = tag_to
|
|
||||||
user = user_env
|
|
||||||
end
|
|
||||||
|
|
||||||
if tag and authdomain then
|
if tag and authdomain then
|
||||||
rspamd_logger.infox("Domain %s is part of mailcow, start reading tag settings", domain)
|
rspamd_logger.infox("domain: %1, tag: %2", domain, tag)
|
||||||
local user_untagged = user .. '@' .. domain
|
local user_untagged = user .. '@' .. domain
|
||||||
rspamd_logger.infox("Querying tag settings for user %1", user_untagged)
|
rspamd_logger.infox("querying tag settings for user %1", user_untagged)
|
||||||
if modify_subject_map:get_key(user_untagged) then
|
if modify_subject_map:get_key(user_untagged) then
|
||||||
rspamd_logger.infox("User wants subject modified for tagged mail")
|
rspamd_logger.infox("found user in map for subject rewrite")
|
||||||
local sbj = task:get_header('Subject')
|
local sbj = task:get_header('Subject')
|
||||||
if tag then
|
new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag .. '] ' .. sbj)) .. '?='
|
||||||
rspamd_logger.infox("Found tag %1, will modify subject header", tag)
|
task:set_rmilter_reply({
|
||||||
new_sbj = '=?UTF-8?B?' .. tostring(util.encode_base64('[' .. tag .. '] ' .. sbj)) .. '?='
|
remove_headers = {['Subject'] = 1},
|
||||||
task:set_rmilter_reply({
|
add_headers = {['Subject'] = new_sbj}
|
||||||
remove_headers = {['Subject'] = 1},
|
})
|
||||||
add_headers = {['Subject'] = new_sbj}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
rspamd_logger.infox("Add X-Moo-Tag header")
|
rspamd_logger.infox("add X-Moo-Tag header")
|
||||||
task:set_rmilter_reply({
|
task:set_rmilter_reply({
|
||||||
add_headers = {['X-Moo-Tag'] = 'YES'}
|
add_headers = {['X-Moo-Tag'] = 'YES'}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
rspamd_logger.infox("Skip delimiter handling for untagged message or authenticated user")
|
rspamd_logger.infox("skip delimiter handling for untagged message or authenticated user")
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user