1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

Make it possible to disable the raw SPF optimizer debug record (#795)

Open to other configuration opens for how best to make this optional. Or
potentially making this an opt in configuration item which would be a
breaking change.

The main reason that someone would want to disable this is if their raw
SPF record goes over the 255 characters. This is potentially another
place that could get some multi string support. But as it is only used
for debugging purposes it seems like there should be a way to outright
disable it too.
This commit is contained in:
Michael Russell
2020-07-31 16:40:22 +02:00
committed by GitHub
parent 4211cf1dc0
commit 237c573c2a
4 changed files with 120 additions and 109 deletions

View File

@@ -741,7 +741,7 @@ function SPF_BUILDER(value) {
if (!value.label) {
value.label = '@';
}
if (!value.raw) {
if (!value.raw && value.raw !== '') {
value.raw = '_rawspf';
}
@@ -752,10 +752,13 @@ function SPF_BUILDER(value) {
// If flattening is requested, generate a TXT record with the raw SPF settings.
if (value.flatten && value.flatten.length > 0) {
p.flatten = value.flatten.join(',');
if (value.ttl) {
r.push(TXT(value.raw, rawspf, TTL(value.ttl)));
} else {
r.push(TXT(value.raw, rawspf));
// Only add the raw spf record if it isn't an empty string
if (value.raw !== '') {
if (value.ttl) {
r.push(TXT(value.raw, rawspf, TTL(value.ttl)));
} else {
r.push(TXT(value.raw, rawspf));
}
}
}

View File

@@ -212,108 +212,110 @@ var _escData = map[string]*_escFile{
"/helpers.js": {
name: "helpers.js",
local: "pkg/js/helpers.js",
size: 23595,
size: 23999,
modtime: 0,
compressed: `
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
xZYj+vZba7fQedVKWQtjIXFuoDk4Dr0YHryt5e0dK6LLIW7Xl59BvdA9GQ6vhj0wQdS51hN4ULbbo8p8
tQHUk7v6YknWt8f65sOvD+4iqfII+lKmPTKNFfz3VbjRTfUxETjLbudEntqXfRoiygVBtQ7geP3IUkCA
NDamlDaayPXCAOorAzUcMh6/avQKjNek+H8KQjFrXJkyDt9WgxdRFUE7PhyumjwIwi5cpck9bO28jYEN
phhYoVx8UN/NEwq1N+12nJmcJMLhl2R2tjmyuja8jkxbxrGIGURGVcsynMW7gVZlW233qCwjrXAabfzV
3WmyY2KRVrmRQGD043Wm3zjYJ/tTT6nfk02rYWLBFiCX8N50K75ym0xLJjeCEEkao77Nr8jLaaWvmNQZ
ECsX63Cx3WZKl+K3GY+xPOXWlV2e1n7vqsbV1nVvdS9bDkbfM6TWLeTGu+Yl37IXT3rOVRcX5KEWuJtp
qiedOGx2KYNaCV6NntvVvfHZNTuX+jq5JwPQelPvLM06+wGPLNlQHKvVTic2JeRuWblYR1mbkmQB1YFX
KhPDCBBjxRoDyQU6ihnrlkkG0cdGtVzSk0Y28kYnZbQv6M8dK/CNvu8yuELXM4LtPMEOzN6+c73btSit
bP+t7BjPSYzhFjEcg1jOCFYN/OtymWPuZzN1P7ta3ogFmnhyDrxl1yvvnWwB69zLlrCmTPTsFC7eV5jV
kMlxNHLuWMke817HdvPiRyPJWiXD/pCw5cJ4dXGc4rl/0bD1Rvezs10pfGue+4Qsd92W327NbpuZrZ3V
1i6kfyFYa847z1KWJbibZMuOV5bqivtF6932IPJHWH3D3f826Iw+kDwn6fKbMGhAPLLB+7Dj94/uJyUo
npuNL5JD9V2LMsowWNBsDSvO897uLuNo/iG7w3SRZJvuPFvvot2/7O+9/fN3e7v7B/vv3u0JTHcEmQ4/
ozvE5pTkvItus4LLPgm5pYje794mJNd2113xtbXpe92JM2c7TES0OONdlieEd4KuyYJ3dyGnmHOC6Wu1
8etcTJB/r+LJ3jSEl3Dw9l0Ir0A07E/DWstBo+XNNKx9bcPssBdr+zQsLdby5mF58dBzdSII6lfirTM0
gc/TJy3WjY+LKL8PfxJ8enYG3wif81fpel6/dq4/Ch7hAvFVd5FkGZVM70ppKzMS2DsleqGGoBvAK4g9
+4ZxeQciyYp4kSCKQd5SwaynjskxlxfnuTxcF1xaZRzlcaOskD+dXQ+v3v9rdnV6Ku+4zEuUs5xmH+97
EGSLRQAPh2K8r0UTxISh2wTHdRSXrRhSFwFOff1Pb87P2zAsiiRxcLwaIpIsi7TCJd5g+tp86sJWQW+n
4l1fZ84WCxUOU07KrwZAx7rxHPZc9vSXAFo1NdP9Ko15qKZNom1kLh+lkhoiNykRvgMlo9G5X7KSyM3l
2U8nw9HgfDQ694lSGFSMJa4kLpH0yTQuHyOhxJD2fDMaX11EcD28+uns+GQIo+uTo7PTsyMYnhxdDY9h
/K/rk5HlFWbmhlU1E4Y4JlSE29/2npXsUN5LCqIglH5H33nUgg9Pjs+GJ0eeKjPr5ZbiE5YVVJXAt8vl
3unAjJNULtOe1OuPPc9S4ghXFglXps64Ko7d0yetwvHJxfV2PToQ/6fMVmXeDM+b+rsZnovwrd+/2dv3
grzZ2zdQp0PvFSrZbGp7Rtensx9uzs7FjOXoA2bVRr/0vDminPVgrD7uwxlkslpQ9DO5fodncIvh50zE
cLXGCCAIpVeXh8mq+/HlSD2Wn6LIKVkjem/h6kKn8pF/C+SnEyja9OCfskCxs1mR+UphCVWenVF5NFGk
KOGY4hhMImbxaUKJ5EiuxwQ/nKyxZEWsyVTJHqaQUZ2826ykGTfHHBEUjKRL66sZkkmZX2m8eJ0niCvc
KI6JPoszX0NS2prLzyjFtrwzli/+FCuhFwniHKc9GEBCmPqKjvo4ju6vAXTwFKnlCqN4vweDdVZI+Be3
xWKBKdAsW79Qx3eyDEquFMtCSsLx2pQtsnwB85X8Okjlpi0D8bhl5VqVZXz6BNZjtVt84Cn3ss2u3GNF
HBKMGIcDwAmWmzqN9E9T1CZg73GXzfaUbHSkaNPsRtFGdJpRtGH5ouyqYojaE5cVUytcjoY1mirKqH2I
XO2uG2iRyVhHZcJiMTcDILOW8ftxdYApyEkWzC6bVqWu+gjCEnFl766Bm+T+bGEsRBgrYVLJmHFhwOaz
j4As6tbeANrUkBoVKpY0XrF2dRqqXdc952NbZYd+Dd5TslNR4Txp3giXa7Hx+3GnHLZIKyxSX00qu4bh
o/fD25GFzc+82Yo16zihVpbjuYgPcaSTWeUJhOLqejPdXOVI8FI1BsaxQBeFnOYujrLZwSNbDmvs/7h9
7F17rUtQG5OGCuXsq0YkbxuUxoA8iqmqiHIW4fa3fLYFsa1R6Ggw2BJ9SBbjheo6z1KO5lzM26Taiexk
utiiAp/N9deEevBDliUYpfKIAaexmIwUy6taek4SiuNdA98V5iWCTbkB4tzHsS62U7woGI4b5BkrcA/O
tZM6GjBQIVMtM5Nsg2PhhSScjZrVvg8FHRWgVAGuNhOzBalCu8SxIUncg4HGXNGbC5klEQExRzT2USPM
fI5qOz0rHFlD3RqOnh4cagauOC4dm3rs9yFIsxQHodsMk+AwmB76UAiZa2hkkx+VemXQlfhK7o1YJXff
1DqH8OlTBe0C1/ZMy1fGW/f7sLcFTEuy7bWNSZ2/euK9PUOb8V6MOU45vRdNivOMVgb23IBcHxoxN+tf
I7FeldO2JfAcDQauewpktyACC0nkfDTsqWHoSahbw1LN+sKWffUIEisK21agdtwTnKqd9idyKBBUHIqn
CZmG4eFO25T4AsYsw3o+c9J2ojpam8l6IBnJaIzg+B9nF+aOUfnt278evP0Obu85dj5k+o+ziw6i5Vdu
5qsi/TAivwgHcfD2bfUJwWFr4bsRH1HqERle9SuklfRDc/pJuywhc9whkYC1QN0N66EQ8X8DAAD//0j8
uekrXAAA
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
`,
},
}