1 line
51 KiB
JavaScript
1 line
51 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1425:function(t,e,a){"use strict";var n=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.validateIPRangeList=e.validateDomain=e.validatePassword=e.validateSubdomain=e.validateUsername=e.validateDBUser=e.validateDatabase=e.validateDNSName=e.validateMXValue=e.validateDNSValue=e.validateFTP=e.validateEmail=e.validateForwarder=void 0;var r=n(a(30)),i=n(a(36)),o=n(a(1426)),s=r.default.get({url:"/CMD_JSON_VALIDATE",schema:{value:r.default.REQUIRED_STRING},response:{valid:!0,message:""},mapResponse:{valid:o.default.isValid,message:o.default.getMessage}}),l=s.extend({id:"VALIDATE_FORWARDER",params:{type:"forwarder",ignore_system_default:!0}});e.validateForwarder=l;var u=s.extend({id:"VALIDATE_EMAIL",params:{type:"email",check_mailing_list:!0},schema:{check_exists:{type:Boolean,required:!1,default:!0}}});e.validateEmail=u;var d=s.extend({id:"VALIDATE_FTP",params:{type:"ftp"},domain:!0});e.validateFTP=d;var c=s.extend({params:{type:"dns"},domain:!0,schema:{record:r.default.REQUIRED_STRING}}),p=c.extend({id:"VALIDATE_DNS_VALUE",params:{check:"value",name:!0},domain:!0,schema:{value:r.default.REQUIRED_STRING}});e.validateDNSValue=p;var f=p.extend({id:"VALIDATE_MX_VALUE",params:{record:"MX"},before:function(t){return{value:"10",mx_value:t.value}}});e.validateMXValue=f;var m=c.extend({id:"VALIDATE_DNS_NAME",params:{check:"name",value:!0,mx_value:!0},schema:{name:r.default.REQUIRED_STRING,value:null}});e.validateDNSName=m;var v=s.extend({id:"VALIDATE_DATABASE",params:{type:"dbname"}});e.validateDatabase=v;var h=s.extend({id:"VALIDATE_DATABASE_USER",params:{type:"dbusername"}});e.validateDBUser=h;var _=s.extend({id:"VALIDATE_USERNAME",params:{type:"username"}});e.validateUsername=_;var b=s.extend({id:"VALIDATE_SUBDOMAIN",domain:!0,params:{type:"subdomain"}});e.validateSubdomain=b;var x=s.extend({id:"VALIDATE_PASSWORD",params:{type:"password"}});e.validatePassword=x;var R=s.extend({id:"VALIDATE_DOMAIN",params:{type:"domain"},before:function(t){var e=t.value;return{value:i.default.toASCII(e)}}});e.validateDomain=R;var y=s.extend({id:"VALIDATE_IP_RANGE_LIST",params:{type:"ip_range_list"}});e.validateIPRangeList=y},1426:function(t,e,a){"use strict";a.r(e);var n=a(35);e.default={isValid:function(t){return void 0===t.error},getMessage:function(t){return Object(n.toAppHtml)(t.error||"")}}},1482:function(t,e,a){"use strict";var n=a(10),r=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.setMxTemplate=e.setLocalMailStatus=e.editRecord=e.addRecord=e.deleteRecords=e.getMXRecords=e.updateAdminTTL=e.updateTTL=e.getAdminRecords=e.getRecords=void 0;var i=r(a(17)),o=r(a(20)),s=r(a(2)),l=r(a(30)),u=a(11),d=a(13),c=n(a(2498));function p(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function f(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?p(Object(a),!0).forEach((function(e){(0,s.default)(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}var m=function(t){return t.map((function(t){return f({},t,{id:t.combined})}))},v=l.default.get({id:"DNS_RECORDS",url:"/CMD_DNS_CONTROL",response:[],domain:!0,params:{full_mx_records:!0,ttl:!0},schema:{ptr:l.default.OPTIONAL_STRING},after:function(t){return t.flow(t.wrap("options"),t.moveProp({"options.records":"records","options.allow_ttl_override":"ttl.allow","options.ttl_is_overridden":"ttl.overridden","options.ttl":"ttl.value","options.default_ttl":"ttl.default","options.dnssec":"dnssec","options.DNS_AFFECT_POINTERS_DEFAULT":"affectPointersDefault"}),t.mapProps({records:m,options:t.mapValues(t.isEqual("1")),dns_ds:t.feedWith(1,(function(t){return"2"===t.dnssec})),dnssec:function(t){return"1"===t||"2"===t},ttl:t.mapProps({allow:t.isEqual("1"),overridden:t.isEqual("1")}),affectPointersDefault:t.isEqual("yes")}),t.moveProp({dnssec:"options.dnssec",dns_ds:"options.dns_ds"}))}});e.getRecords=v;var h=v.extend({url:"/CMD_DNS_ADMIN",params:{ttl:null},after:function(t){return t.flow(t.wrap("options"),t.moveProp({"options.records":"records","options.dnssec":"dnssec","options.ttl_value":"ttl.value","options.ttl_selected":"ttl.select","options.zone_user":"ttl.user","options.default_ttl":"ttl.default"}),t.mapProps({records:m,options:t.mapValues(t.isEqual("1")),dns_ds:t.feedWith(1,(function(t){return"2"===t.dnssec})),dnssec:function(t){return"1"===t||"2"===t},ttl:t.mapProps({select:t.setDefault("default"),default:t.setDefault("14400"),value:t.setDefault("14400")})}),t.moveProp({dnssec:"options.dnssec",dns_ds:"options.dns_ds"}))}});e.getAdminRecords=h;var _=l.default.post({url:"/CMD_DNS_CONTROL",params:{action:"ttl"},schema:{domain:l.default.DOMAIN,ttl_select:l.default.REQUIRED_STRING,ttl:l.default.REQUIRED_STRING}});e.updateTTL=_;var b=_.extend({url:"/CMD_DNS_ADMIN",schema:{user:l.default.OPTIONAL_STRING}});e.updateAdminTTL=b;var x=l.default.get({id:"MX_RECORDS",url:"/CMD_DNS_MX",schema:{domain:l.default.DOMAIN},mapResponse:c.getMxRecords});e.getMXRecords=x;var R=function(){return((0,u.State)("app.route.path")||"").includes("mx-records")?"/CMD_DNS_MX":((0,u.State)("app.route.path")||"").includes("".concat(d.USER_LEVEL.ADMIN,"/"))?"/CMD_DNS_ADMIN":"/CMD_DNS_CONTROL"},y=l.default.post({url:R,params:{action:"select",delete:!0},schema:{domain:l.default.DOMAIN,records:l.default.DNS_RECORDS,ptr:l.default.OPTIONAL_STRING},before:function(t){return t.records.reduce((function(t,e){return f({},t,(0,s.default)({},"".concat(e.type.toLowerCase(),"recs"),[].concat((0,o.default)(t["".concat(e.type.toLowerCase(),"recs")]||[]),[e.id])))}),{records:null})}});e.deleteRecords=y;var g=l.default.post({url:R,params:{action:"add"},schema:{domain:l.default.DOMAIN,type:l.default.REQUIRED_STRING,name:l.default.REQUIRED_STRING,value:l.default.REQUIRED_STRING,mx_value:l.default.OPTIONAL_STRING,ttl:l.default.OPTIONAL_STRING,ptr_val:l.default.OPTIONAL_STRING,affect_pointers:l.default.OPTIONAL_BOOL},before:function(t){var e=t.type,a=t.value,n=t.name;return"NS"===e?{name:a,value:n,mx_value:null}:"MX"!==e?{mx_value:null}:{}}});e.addRecord=g;var D=l.default.post({url:R,params:{action:"edit"},schema:{domain:l.default.DOMAIN,type:l.default.REQUIRED_STRING,name:l.default.REQUIRED_STRING,value:l.default.REQUIRED_STRING,mx_value:l.default.OPTIONAL_STRING,ttl:l.default.OPTIONAL_STRING,ptr:l.default.OPTIONAL_STRING,affect_pointers:l.default.OPTIONAL_BOOL},before:function(t){var e=t.type,a=t.name,n=t.value,r=t.id,o={id:null,combined:null,mx_value:null};if("MX"===e){var s=n.split(" "),l=(0,i.default)(s,2);o.value=l[0],o.mx_value=l[1]}return"NS"===e&&(o.name=n,o.value=a),o["".concat(e.toLowerCase(),"recs0")]=r,o},notifySuccess:!1,notifyError:!0});e.editRecord=D;var T=l.default.post({url:"/CMD_DNS_MX",domain:!0,params:{action:"internal"},schema:{internal:l.default.REQUIRED_BOOL}});e.setLocalMailStatus=T;var N=l.default.post({url:"/CMD_DNS_MX",domain:!0,params:{action:"mx_template"},schema:{mx_template:l.default.REQUIRED_STRING,affect_pointers:l.default.OPTIONAL_BOOL}});e.setMxTemplate=N},1626:function(t,e,a){"use strict";a.r(e);var n=a(3125),r=a(1627);for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);var o=a(0),s=Object(o.a)(r.default,n.a,n.b,!1,null,null,null);e.default=s.exports},1627:function(t,e,a){"use strict";a.r(e);var n=a(1628),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e.default=r.a},1628:function(t,e,a){"use strict";var n=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(a(2)),i=n(a(15)),o=n(a(16)),s=a(1482),l=n(a(2499)),u=n(a(2503));function d(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function c(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?d(Object(a),!0).forEach((function(e){(0,r.default)(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):d(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}var p,f,m,v,h={components:{DnsAddRecordDialog:l.default,DnsEditRecordDialog:u.default},props:{only:{type:String,required:!1,default:""},domain:{type:String,required:!0},records:{type:Array,requried:!0,default:function(){return[]}},pointer:{type:[String,Object],required:!1,default:null},disableTTLInput:{type:Boolean,default:!1,required:!1},enableTTL:{type:Boolean,default:!1,required:!1},hasAffectPointers:{type:Boolean,default:!1},affectPointersDefault:{type:Boolean},disabled:{type:Boolean,required:!1,default:!1}},data:function(){return{checkedRecords:[],editableRecord:{},ap:this.affectPointersDefault}},computed:{showTTLColumn:function(){return this.enableTTL},affectPointers:function(){return{show:this.hasAffectPointers,default:this.affectPointersDefault}},notCheckableRows:function(){var t=this;return"MX"===this.only?this.records.filter((function(e){return e.type!==t.only})):[]}},watch:{domain:function(t){t&&this.loadRecords()}},methods:{strToChunks:function(t,e){for(var a=t,n=[];a;)n.push(a.slice(0,e)),a=a.slice(e);return n.join("​")},getValueString:function(t){var e=t.value,a=t.type,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return["NS","CNAME"].includes(a)&&(e=this.$p6e.toU(e)),"MX"===a&&(e=e.split(" ").map(this.$p6e.toU).join(" ")),e.length>50&&n?this.strToChunks(e,10):e},getCopyString:function(t,e){e.clipboardData.setData("text/plain",this.getValueString(t,!1)),e.preventDefault()},loadRecords:(v=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.$emit("rows:update"),this.checkedRecords=[];case 2:case"end":return t.stop()}}),t,this)}))),function(){return v.apply(this,arguments)}),updateRecord:(m=(0,o.default)(i.default.mark((function t(e){var a;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,s.editRecord)(c({},Object.assign({},e),{ptr:this.pointer,domain:this.domain}));case 2:a=t.sent,this.$notify({theme:a.success?"safe":"danger",title:a.success?this.$gettext("Domain record was updated successfully"):this.$gettext("Request failed")}),a.success&&this.loadRecords();case 5:case"end":return t.stop()}}),t,this)}))),function(t){return m.apply(this,arguments)}),addRecord:(f=(0,o.default)(i.default.mark((function t(e){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,s.addRecord)(c({},e,{domain:this.domain,ptr_val:this.pointer}));case 2:t.sent&&this.loadRecords();case 4:case"end":return t.stop()}}),t,this)}))),function(t){return f.apply(this,arguments)}),deleteRecords:(p=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,s.deleteRecords)({records:this.checkedRecords,ptr:this.pointer,domain:this.domain,affect_pointers:this.hasAffectPointers?this.ap:null});case 2:t.sent&&(this.checkedRecords=[],this.loadRecords());case 4:case"end":return t.stop()}}),t,this)}))),function(){return p.apply(this,arguments)}),editRecord:function(t){this.editableRecord=t,this.$dialog("EDIT_DNS_RECORD_DIALOG").open()}}};e.default=h},1629:function(t,e,a){"use strict";a.r(e);var n=a(1630),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e.default=r.a},1630:function(t,e,a){"use strict";var n=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i,o,s,l,u=n(a(15)),d=n(a(16)),c=a(1425),p=a(2284),f={type:Boolean,required:!1,default:!1},m={props:{only:{type:String,default:""},domain:{type:String,required:!0},dns_spf:f,dns_ds:f,dns_tlsa:f,dns_caa:f,full_mx_records:f,pointer:{type:[String,Object],required:!1,default:null},showTTL:{type:Boolean,required:!1,default:!1},disableTTL:{type:Boolean,required:!1,default:!1},affectPointers:{type:Object,required:!1,default:function(){return{show:!1,default:!1}}}},data:function(){return{type:this.only||"A",name:"",value:"",mxValue:"",ttl:"",txtType:"plain",ap:this.affectPointers.default}},api:[{command:c.validateDNSName,bind:"dnsName"},{command:c.validateDNSValue,bind:"dnsValue"},{command:c.validateMXValue,bind:"mxValue"}],commands:{validate:{dnsName:c.validateDNSName,dnsValue:c.validateDNSValue,mxValue:c.validateMXValue}},computed:{requestData:function(){return{type:this.type,name:this.$p6e.toA(this.name),domain:this.domain,value:"TXT"===this.type?this.value:this.$p6e.toA(this.value),mx_value:this.$p6e.toA(this.mxValue),ttl:this.ttl||null,affect_pointers:this.affectPointers?this.ap:null}},allowedRecordTypes:function(){var t=["A","NS","MX","CNAME","PTR","TXT","SRV","AAAA"];return this.dns_spf&&t.push("SPF"),this.dns_ds&&t.push("DS"),this.dns_tlsa&&t.push("TLSA"),this.dns_caa&&t.push("CAA"),t},defaultName:function(){return this.$p6e.toU("".concat(this.pointer||this.domain,"."))},defaultTTL:function(){try{return this.$state.commands.DNS_RECORDS.response.ttl.value||this.$state.commands.DNS_RECORDS.response.ttl.default}catch(t){return"14400"}},mxRecordsPage:function(){return"MX"===this.type},fqdnName:function(){return this.makeFQDN(this.name)},fqdnValue:function(){return!!["CNAME","MX","NS","PTR"].includes(this.type)&&this.makeFQDN("MX"===this.type?this.mxValue:this.value)},txtGeneratorComponent:function(){return"TXT"===this.type&&"plain"!==this.txtType&&p.editors[this.txtType]},spfValid:function(){return this.$store.getters["validation/isValid"]("spf-record")}},watch:{type:function(){this.setVars()},txtType:function(t){"dmarc"===t&&(this.name="_dmarc")}},created:function(){this.setVars()},methods:{makeFQDN:function(t){return!(!t||"."===t[t.length-1])&&"".concat(t,".").concat(this.$p6e.toU(this.domain))},setVars:(l=(0,d.default)(u.default.mark((function t(){return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.ap=this.affectPointers.default,this.showTTL&&(this.ttl=this.defaultTTL),t.t0=this.type,t.next="MX"===t.t0?5:"NS"===t.t0?8:"TXT"===t.t0?8:"CNAME"===t.t0?12:15;break;case 5:return this.name=this.defaultName,this.value="10",t.abrupt("break",18);case 8:return this.value="",this.name=this.defaultName,"dmarc"===this.txtType&&(this.name="_dmarc"),t.abrupt("break",18);case 12:return this.name="",this.value=this.defaultName,t.abrupt("break",18);case 15:this.name="",this.value="",this.mxValue="";case 18:this.$store.commit("validation/TOUCH_GROUP_INPUTS","addRecord");case 19:case"end":return t.stop()}}),t,this)}))),function(){return l.apply(this,arguments)}),submit:(s=(0,d.default)(u.default.mark((function t(){return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.$emit("submit",Object.assign({},this.requestData)),this.setVars();case 2:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)}),validateDnsRecordName:(o=(0,d.default)(u.default.mark((function t(e){var a,n;return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,c.validateDNSName)({record:this.type,domain:this.domain,pointer:this.pointer,name:this.$p6e.toA(e)});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)}),validateDnsRecordValue:(i=(0,d.default)(u.default.mark((function t(e){var a,n;return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&"MX"!==this.type){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,c.validateDNSValue)({record:this.type,domain:this.domain,pointer:this.pointer,value:e});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)}),validateMxRecordValue:(r=(0,d.default)(u.default.mark((function t(e){var a,n;return u.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&"MX"===this.type&&this.full_mx_records){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,c.validateMXValue)({domain:this.domain,pointer:this.pointer,value:e});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})}};e.default=m},1631:function(t,e,a){"use strict";a.r(e);var n=a(1632),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e.default=r.a},1632:function(t,e,a){"use strict";var n=a(10);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=n(a(2501)),i={model:{prop:"value",event:"change"},props:{value:{type:String,required:!0}},data:function(){return{rua:"",ruf:"",p:"none",sp:"",rf:"afrf",ri:"86400",pct:"100",adkim:"relaxed",aspf:"relaxed"}},computed:{innerValue:function(){return r.generate({p:this.p,sp:this.sp,rua:this.rua,ruf:this.ruf,rf:this.rf,ri:this.ri,pct:this.pct,adkim:this.adkim,aspf:this.aspf})}},watch:{innerValue:function(t){t!==this.value&&this.$emit("change",this.innerValue)},value:{handler:"updateInnerValue",immediate:!0}},methods:{updateInnerValue:function(t){t=t.replace(/^"|"$/g,""),r.notDMARC(t)?this.$emit("change",this.innerValue):t!==this.innerValue&&Object.assign(this,r.parse(t))}}};e.default=i},1633:function(t,e,a){"use strict";a.r(e);var n=a(1634),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e.default=r.a},1634:function(t,e,a){"use strict";var n=a(1),r=a(10);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=n(a(2)),o=r(a(1525)),s=r(a(6)),l=a(13),u=r(a(3260));function d(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}var c=s.filter(s.test(l.REGEXPS.domain)),p=s.complement(s.pipe(s.prop("value"),s.contains("_"))),f={components:{InputIp:o.default},model:{prop:"value",event:"change"},props:{value:{type:String,required:!0},domain:{type:String,required:!1,default:function(){return(void 0).$domainUnicode}}},data:function(){return{ips:[{version:"v4",netmask:"",value:""}],include:[""],options:["mx","a"],strict:"-all",redirect:"",a:[""]}},computed:{processedIps:function(){var t=s.when(s.propEq("version","v4"),s.evolve({netmask:o.netmask2cidr}));return s.pipe(s.filter(p),s.map(t))(this.ips)},processedDomains:function(){return c(this.a)},processedIncludes:function(){return c(this.include)},spfRecord:function(){return{options:this.options,values:this.values,strict:this.strict,redirect:this.redirect,ips:this.processedIps,include:this.processedIncludes,a:this.processedDomains}},innerValue:function(){return u.generate(this.spfRecord)},lookupLimit:function(){return this.processedDomains.length+this.processedIncludes.length>=10}},watch:{innerValue:function(t){this.$emit("change",t)},value:{handler:"updateInnerValue",immediate:!0}},methods:{isIpValid:p,validDomain:s.test(l.REGEXPS.domain),updateInnerValue:function(t){if(t=t.replace(/^"|"$/g,""),u.notSPF(t))this.$emit("change",this.innerValue);else if(t!==this.innerValue){var e=s.pipe(u.parse,s.evolve({ips:s.map((function(t){return function(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?d(Object(a),!0).forEach((function(e){(0,i.default)(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):d(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}({},t,{netmask:"v4"===t.version?(0,o.cidr2netmask)(t.netmask):t.netmask})}))}))(t);Object.assign(this,e)}},addIp:function(){this.ips.push({netmask:"",value:"",version:"v4"})},removeIp:function(t){this.ips.splice(t,1)},validateDomain:function(t){return!t||!t.includes(" ")&&l.REGEXPS.domain.test(t)},addInclude:function(){var t=this;this.include.push(""),this.$nextTick((function(){var e=t.$refs["includeInput".concat(t.include.length-1)];e&&e[0]&&e[0].$refs.input.focus()}))},addDomain:function(){var t=this;this.a.push(""),this.$nextTick((function(){var e=t.$refs["aInput".concat(t.a.length-1)];e&&e[0]&&e[0].$refs.input.focus()}))}}};e.default=f},1635:function(t,e,a){"use strict";a.r(e);var n=a(1636),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e.default=r.a},1636:function(t,e,a){"use strict";var n=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r,i,o,s=n(a(15)),l=n(a(16)),u=a(1425),d=a(14),c=a(2284),p={props:{record:{type:Object,required:!0},full_mx_records:{type:Boolean,required:!1,default:!0},showTTL:{type:Boolean,required:!0,default:!1},domain:{type:String,required:!0},disableTTL:{type:Boolean,required:!1,default:!1},pointer:{type:String,required:!1,default:""},affectPointers:{type:Object,required:!1,default:function(){return{show:!1,default:!1}}}},data:function(){return{editableRecord:{type:"A",name:"",value:"",mx_value:"",ttl:"14400"},txtType:"plain",expertMode:!1,forceExpertMode:!1,ap:this.affectPointers.default}},api:[{command:u.validateDNSName,bind:"dnsName"},{command:u.validateDNSValue,bind:"dnsValue"},{command:u.validateMXValue,bind:"mxValue"}],computed:{recordData:function(){var t=this.editableRecord,e=t.value,a=t.name,n=this.editableRecord.ttl,r=this.record,i=r.type,o=r.id;return a=this.$p6e.toA(a),"MX"===i&&(e="".concat(e," ").concat(this.$p6e.toA(this.editableRecord.mx_value))),"NS"!==i&&"CNAME"!==i||(e=this.$p6e.toA(e)),{id:o,type:i,value:e,name:a,ttl:n,affect_pointers:this.affectPointers.show?this.ap:null}},mxRecordsPage:function(){return"MX"===this.record.type},fqdnName:function(){return this.makeFQDN(this.editableRecord.name)},fqdnValue:function(){return!!["CNAME","MX","NS","PTR"].includes(this.editableRecord.type)&&this.makeFQDN("MX"===this.editableRecord.type?this.editableRecord.mx_value:this.editableRecord.value)},defaultTTL:function(){try{return this.$state.commands.DNS_RECORDS.response.ttl.default}catch(t){return"14400"}},txtGeneratorComponent:function(){return"TXT"===this.record.type&&"plain"!==this.txtType&&c.editors[this.txtType]},spfValid:function(){return this.$store.getters["validation/isValid"]("spf-record")}},created:function(){this.$watch("record",this.loadDataFromRecord,{immediate:!0})},methods:{makeFQDN:function(t){return!(!t||"."===t[t.length-1])&&"".concat(t,".").concat(this.$p6e.toU(this.pointner||this.domain))},loadDataFromRecord:function(){if(this.txtType="plain",Object.assign(this.editableRecord,d._.cloneDeep(this.record)),this.editableRecord.type=this.record.type,this.editableRecord.name=this.$p6e.toU(this.editableRecord.name),this.editableRecord.ttl=this.editableRecord.ttl||this.defaultTTL,this.editableRecord.value=this.record.value,"MX"===this.record.type){var t=this.record.value.split(" ");this.editableRecord.value=t[0],this.editableRecord.mx_value=this.$p6e.toU(t[1]||"")}if(["NS","CNAME"].includes(this.editableRecord.type)&&(this.editableRecord.value=this.$p6e.toU(this.editableRecord.value)),"TXT"===this.record.type){var e=(0,c.chooseEditor)(this.editableRecord.value);"spf"===e&&(this.forceExpertMode=/(\+|-|~|\?)(a |a:|mx|ip|ip4|ip6|include|ptr)/.test(this.editableRecord.value),this.expertMode=this.forceExpertMode),this.txtType=e}},validateDnsRecordName:(o=(0,l.default)(s.default.mark((function t(e){var a,n;return s.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,u.validateDNSName)({record:this.record.type,domain:this.pointer||this.domain,name:this.$p6e.toA(e)});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)}),validateDnsRecordValue:(i=(0,l.default)(s.default.mark((function t(e){var a,n;return s.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&"MX"!==this.editableRecord.type){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,u.validateDNSValue)({record:this.record.type,domain:this.pointer||this.domain,value:e});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)}),validateMxRecordValue:(r=(0,l.default)(s.default.mark((function t(e){var a,n;return s.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&"MX"===this.editableRecord.type&&this.full_mx_records){t.next=2;break}return t.abrupt("return",!0);case 2:return t.next=4,(0,u.validateMXValue)({domain:this.pointer||this.domain,value:this.$p6e.toA(e)});case 4:return a=t.sent,n=a.valid,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})}};e.default=p},2284:function(t,e,a){"use strict";var n=a(10),r=a(1);Object.defineProperty(e,"__esModule",{value:!0}),e.editors=e.chooseEditor=void 0;var i=r(a(17)),o=n(a(6)),s=r(a(2500)),l=r(a(2502));e.chooseEditor=function(t){var e=o.toPairs({spf:"spf1",dmarc:"DMARC1"}),a=o.find((function(e){var a=(0,i.default)(e,2)[1];return o.startsWith('"v='.concat(a),t)}),e)||[],n=(0,i.default)(a,1)[0];return void 0===n?"plain":n};var u={dmarc:s.default,spf:l.default};e.editors=u},2498:function(t,e,a){"use strict";a.r(e),a.d(e,"getMxRecords",(function(){return i}));var n=a(35),r=function(){return(r=Object.assign||function(t){for(var e,a=1,n=arguments.length;a<n;a++)for(var r in e=arguments[a])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},i=function(t){return{records:t.records.map((function(t){return r(r({},t),{id:t.combined})})),internal:"yes"===t.internal,full_mx_records:"0"!==t.full_mx_records,dns_ttl:"1"===t.dns_ttl,template:!!t.mx_templates&&Object(n.toSelectData)(t.mx_templates.mx_templates_select),affect_pointers:"no"!==t.DNS_AFFECT_POINTERS_DEFAULT}}},2499:function(t,e,a){"use strict";a.r(e);var n=a(3224),r=a(1629);for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);var o=a(0),s=Object(o.a)(r.default,n.a,n.b,!1,null,null,null);e.default=s.exports},2500:function(t,e,a){"use strict";a.r(e);var n=a(3258),r=a(1631);for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);var o=a(0),s=Object(o.a)(r.default,n.a,n.b,!1,null,null,null);e.default=s.exports},2501:function(t,e,a){"use strict";a.r(e),a.d(e,"notDMARC",(function(){return c})),a.d(e,"prepare",(function(){return p})),a.d(e,"generate",(function(){return f})),a.d(e,"parse",(function(){return m}));var n=a(6),r=a(28),i=n.pipe(n.filter(n.complement(n.isEmpty)),n.toPairs,n.map(n.join("=")),n.join("; "),(function(t){return"v=DMARC1;"+t})),o=n.pipe(n.defaultTo(""),n.replace("mailto:","")),s=n.unless(n.isEmpty,(function(t){return"mailto:"+t})),l=function(t){return n.when(n.equals(t),n.always(""))},u=function(t){return"strict"===t?"s":""},d=function(t){var e=n.split(";",t);return Object(r.mergeTransduce)([Object(r.mapReducer)(n.trim),Object(r.filterReducer)(n.test(/^(p|sp|rua|ruf|ri|rf|pct|adkim|aspf)=.+$/)),Object(r.mapReducer)((function(t){var e,a=t.split("="),n=a[0],r=a[1];return(e={})[n]=r,e}))],e)},c=n.complement(n.startsWith("v=DMARC1")),p=n.pipe(n.evolve({p:function(t){return t},sp:function(t){return t},rua:s,ruf:s,rf:l("afrf"),ri:l("86400"),pct:l("100"),adkim:u,aspf:u})),f=n.pipe(p,i),m=function(t){var e=n.ifElse(c,n.always({}),d)(t);return e.adkim="s"===e.adkim?"strict":"relaxed",e.aspf="s"===e.aspf?"strict":"relaxed",e.rua=o(e.rua),e.ruf=o(e.ruf),e}},2502:function(t,e,a){"use strict";a.r(e);var n=a(3259),r=a(1633);for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);var o=a(0),s=Object(o.a)(r.default,n.a,n.b,!1,null,null,null);e.default=s.exports},2503:function(t,e,a){"use strict";a.r(e);var n=a(3225),r=a(1635);for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);var o=a(0),s=Object(o.a)(r.default,n.a,n.b,!1,null,null,null);e.default=s.exports},3125:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("ui-r-table",{attrs:{rows:t.records,columns:[{id:"type",label:t.$gettext("Type"),editable:!1},{id:"name",label:t.$gettext("Name"),grow:!0,editable:!1},t.enableTTL?{id:"ttl",label:t.$gettext("TTL"),width:"min-content"}:{},{id:"value",label:t.$gettext("Value"),grow:!0,editable:!1}],"is-sortable":"","is-checkable":!t.disabled,"disable-pagination":"","checked-rows":t.checkedRecords,"rows-count":t.records.length,"vertical-layout":t.$_Client.isPhone,"not-checkable":t.notCheckableRows},on:{"update:checkedRows":function(e){t.checkedRecords=e},"update:checked-rows":function(e){t.checkedRecords=e}},scopedSlots:t._u([{key:"row:actions",fn:function(e){var n=e.item;return t.disabled||t.notCheckableRows.includes(n)?t._e():a("ui-button-icon",{attrs:{icon:"pencil",title:t.$gettext("Edit"),disabled:t.disabled},on:{click:function(e){return t.editRecord(n)}}})}},{key:"col:name",fn:function(e){var a=e.name;return[t._v("\n "+t._s(t.$p6e.toU(a))+"\n ")]}},{key:"col:value",fn:function(e){var n=e.item;return a("div",{domProps:{innerHTML:t._s(t.getValueString(n))},on:{copy:function(e){return t.getCopyString(n,e)}}})}}],null,!0)},[t.disabled?t._e():a("ui-button",{attrs:{slot:"buttons:before",theme:"safe",size:"big"},on:{click:function(e){t.$dialog("ADD_DNS_RECORD_DIALOG").open()}},slot:"buttons:before"},[a("translate",[t._v("Add Record")])],1),t._v(" "),a("ui-table-action",{attrs:{slot:"table:actions"},on:{click:function(e){t.$dialog("DELETE_ITEMS_DIALOG").open()}},slot:"table:actions"},[a("translate",[t._v("Delete")])],1)],1),t._v(" "),a("ui-dialog-delete-items",{attrs:{subject:t.$ngettext("DNS record","DNS Records",t.checkedRecords.length)},on:{"click:confirm":t.deleteRecords}},[a("ui-form-element",{attrs:{vertical:""}},[t.hasAffectPointers?a("input-checkbox",{attrs:{slot:"content"},slot:"content",model:{value:t.ap,callback:function(e){t.ap=e},expression:"ap"}},[a("translate",[t._v("Remove from pointers")])],1):t._e()],1)],1),t._v(" "),a("dns-add-record-dialog",t._b({attrs:{only:t.only,domain:t.domain,pointer:t.pointer,"show-t-t-l":t.showTTLColumn,"disable-t-t-l":t.disableTTLInput,"affect-pointers":t.affectPointers},on:{submit:function(e){return t.addRecord(e)}}},"dns-add-record-dialog",t.$attrs,!1)),t._v(" "),a("dns-edit-record-dialog",t._b({attrs:{record:t.editableRecord,"show-t-t-l":t.showTTLColumn,"disable-t-t-l":t.disableTTLInput,domain:t.domain,pointer:t.pointer,"affect-pointers":t.affectPointers},on:{update:t.updateRecord}},"dns-edit-record-dialog",t.$attrs,!1))],1)},r=[];a.d(e,"a",(function(){return n})),a.d(e,"b",(function(){return r}))},3224:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ui-dialog",{attrs:{id:"ADD_DNS_RECORD_DIALOG",size:"normal"},on:{"dialog:open":t.setVars}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Add Record\n ")]),t._v(" "),a("template",{slot:"content"},[a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Record Type\n ")]),t._v(" "),t.only?a("input-text",{attrs:{slot:"content",value:t.type,disabled:""},slot:"content"}):a("input-select",{attrs:{slot:"content",options:t.allowedRecordTypes},slot:"content",model:{value:t.type,callback:function(e){t.type=e},expression:"type"}})],1),t._v(" "),a("ui-form-element",{attrs:{group:"addRecord",validators:{validateDnsRecordName:t.validateDnsRecordName}}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Name\n ")]),t._v(" "),a("input-text",{ref:"inputName",attrs:{slot:"content",placeholder:"DS"===t.type?"subdomain."+t.domain+".":""},slot:"content",model:{value:t.name,callback:function(e){t.name=e},expression:"name"}}),t._v(" "),t.fqdnName&&t.$api.dnsName.valid?a("translate",{attrs:{slot:"popup","translate-params":{name:t.fqdnName}},slot:"popup"},[t._v("\n Result: %{ name }\n ")]):t._e(),t._v(" "),a("span",{attrs:{slot:"error:validateDnsRecordName"},domProps:{innerHTML:t._s(t.$api.dnsName.message)},slot:"error:validateDnsRecordName"})],1),t._v(" "),t.showTTL?a("ui-form-element",{attrs:{group:"addRecord"}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n TTL\n ")]),t._v(" "),a("input-text",{ref:"inputTTL",attrs:{slot:"content",disabled:t.disableTTL,number:""},slot:"content",model:{value:t.ttl,callback:function(e){t.ttl=e},expression:"ttl"}}),t._v(" "),t.disableTTL?a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n TTL is overriden globally. Changing this setting will have\n no effect.\n ")]):t._e()],1):t._e(),t._v(" "),"TXT"===t.type?a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n TXT Record Type\n ")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{plain:t.$gettext("Plain"),dmarc:"DMARC",spf:"SPF"}},slot:"content",model:{value:t.txtType,callback:function(e){t.txtType=e},expression:"txtType"}})],1):t._e(),t._v(" "),t.txtGeneratorComponent?a(t.txtGeneratorComponent,{tag:"component",attrs:{domain:t.pointer||t.domain},model:{value:t.value,callback:function(e){t.value=e},expression:"value"}}):t._e(),t._v(" "),a("ui-form-element",{attrs:{group:"addRecord",validators:{validateDnsRecordValue:t.validateDnsRecordValue,validateMxRecordValue:t.validateMxRecordValue},underline:!1}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Value\n ")]),t._v(" "),a("template",{slot:"content"},["MX"===t.type?a("input-select",{attrs:{options:["0","10","20","30","40","50","60","70","80","90"],novalidate:"","disable-search":""},model:{value:t.value,callback:function(e){t.value=e},expression:"value"}},[t.full_mx_records?a("input-text",{ref:"inputMXValue",attrs:{slot:"additions:right"},slot:"additions:right",model:{value:t.mxValue,callback:function(e){t.mxValue=e},expression:"mxValue"}}):t._e()],1):a("TXT"===t.type?"input-textarea":"input-text",{ref:"inputValue",tag:"component",attrs:{rows:"5",disabled:t.txtGeneratorComponent},model:{value:t.value,callback:function(e){t.value=e},expression:"value"}})],1),t._v(" "),t.fqdnValue&&t.$api.dnsValue.valid&&t.$api.mxValue.valid?a("translate",{attrs:{slot:"popup","translate-params":{name:t.fqdnValue}},slot:"popup"},[t._v("\n Result: %{ name }\n ")]):t._e(),t._v(" "),a("span",{attrs:{slot:"error:validateDnsRecordValue"},domProps:{innerHTML:t._s(t.$api.dnsValue.message)},slot:"error:validateDnsRecordValue"}),t._v(" "),a("span",{attrs:{slot:"error:validateMxRecordValue"},domProps:{innerHTML:t._s(t.$api.mxValue.message)},slot:"error:validateMxRecordValue"})],2),t._v(" "),t.affectPointers.show?a("ui-form-element",{attrs:{underline:!1}},[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content"},slot:"content",model:{value:t.ap,callback:function(e){t.ap=e},expression:"ap"}},[a("translate",[t._v("Duplicate to pointers")])],1)],1):t._e()],1),t._v(" "),a("ui-button",{attrs:{slot:"buttons",theme:"safe","validate-group":"addRecord",disabled:!t.spfValid},on:{click:t.submit},slot:"buttons"},[a("translate",[t._v("Add")])],1)],2)},r=[];a.d(e,"a",(function(){return n})),a.d(e,"b",(function(){return r}))},3225:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ui-dialog",{attrs:{id:"EDIT_DNS_RECORD_DIALOG",size:"normal"}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Edit Record\n ")]),t._v(" "),a("template",{slot:"content"},[a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Record Type\n ")]),t._v(" "),a("input-text",{attrs:{slot:"content",value:t.editableRecord.type,disabled:""},slot:"content"})],1),t._v(" "),a("ui-form-element",{attrs:{group:"editRecord",validators:{required:!0,validateDnsRecordName:t.validateDnsRecordName}}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Name\n ")]),t._v(" "),a("input-text",{attrs:{slot:"content",placeholder:"DS"===t.editableRecord.type?"subdomain."+t.domain+".":""},slot:"content",model:{value:t.editableRecord.name,callback:function(e){t.$set(t.editableRecord,"name",e)},expression:"editableRecord.name"}}),t._v(" "),t.isMounted&&t.fqdnName&&t.$api.dnsName.valid?a("translate",{attrs:{slot:"popup","translate-params":{name:t.fqdnName}},slot:"popup"},[t._v("\n Result: %{ name }\n ")]):t._e(),t._v(" "),a("span",{attrs:{slot:"error:validateDnsRecordName"},domProps:{innerHTML:t._s(t.$api.dnsName.message)},slot:"error:validateDnsRecordName"})],1),t._v(" "),t.showTTL?a("ui-form-element",{attrs:{group:"editRecord",validators:{required:!0}}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n TTL\n ")]),t._v(" "),a("input-text",{attrs:{slot:"content",disabled:t.disableTTL,number:""},slot:"content",model:{value:t.editableRecord.ttl,callback:function(e){t.$set(t.editableRecord,"ttl",e)},expression:"editableRecord.ttl"}}),t._v(" "),t.disableTTL?a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n TTL is overriden globally. Changing this setting will have no effect.\n ")]):t._e()],1):t._e(),t._v(" "),t.txtGeneratorComponent&&!t.expertMode?a(t.txtGeneratorComponent,{tag:"component",attrs:{domain:t.pointer||t.domain},model:{value:t.editableRecord.value,callback:function(e){t.$set(t.editableRecord,"value",e)},expression:"editableRecord.value"}}):t._e(),t._v(" "),t.txtGeneratorComponent?a("ui-form-element",[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content",disabled:t.forceExpertMode},slot:"content",model:{value:t.expertMode,callback:function(e){t.expertMode=e},expression:"expertMode"}},[a("translate",[t._v("Edit Manually")])],1),t._v(" "),t.forceExpertMode?a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n Due to advanced SPF record syntax, text-mode is used for SPF changes.\n ")]):t._e()],1):t._e(),t._v(" "),a("ui-form-element",{attrs:{group:"editRecord",validators:{required:!0,validateDnsRecordValue:t.validateDnsRecordValue,validateMxRecordValue:t.validateMxRecordValue},underline:!1}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Value\n ")]),t._v(" "),a("template",{slot:"content"},["MX"===t.editableRecord.type?a("input-select",{attrs:{options:["0","10","20","30","40","50","60","70","80","90"],"disable-search":""},model:{value:t.editableRecord.value,callback:function(e){t.$set(t.editableRecord,"value",e)},expression:"editableRecord.value"}},[t.full_mx_records?a("input-text",{attrs:{slot:"additions:right"},slot:"additions:right",model:{value:t.editableRecord.mx_value,callback:function(e){t.$set(t.editableRecord,"mx_value",e)},expression:"editableRecord.mx_value"}}):t._e()],1):a("TXT"===t.record.type?"input-textarea":"input-text",{tag:"component",attrs:{rows:"3",disabled:t.txtGeneratorComponent&&!t.expertMode},model:{value:t.editableRecord.value,callback:function(e){t.$set(t.editableRecord,"value",e)},expression:"editableRecord.value"}})],1),t._v(" "),t.isMounted&&t.fqdnValue&&t.$api.dnsValue.valid&&t.$api.mxValue.valid?a("translate",{attrs:{slot:"popup","translate-params":{name:t.fqdnValue}},slot:"popup"},[t._v("\n Result: %{ name }\n ")]):t._e(),t._v(" "),a("span",{attrs:{slot:"error:validateDnsRecordValue"},domProps:{innerHTML:t._s(t.$api.dnsValue.message)},slot:"error:validateDnsRecordValue"}),t._v(" "),a("span",{attrs:{slot:"error:validateMxRecordValue"},domProps:{innerHTML:t._s(t.$api.mxValue.message)},slot:"error:validateMxRecordValue"})],2),t._v(" "),t.affectPointers.show?a("ui-form-element",{attrs:{underline:!1}},[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content"},slot:"content",model:{value:t.ap,callback:function(e){t.ap=e},expression:"ap"}},[a("translate",[t._v("Duplicate to pointers")])],1)],1):t._e()],1),t._v(" "),a("ui-button",{attrs:{slot:"buttons",theme:"safe","validate-group":"editRecord",disabled:!t.spfValid},on:{click:function(e){return t.$emit("update",t.recordData)}},slot:"buttons"},[a("translate",[t._v("Edit")])],1)],2)},r=[];a.d(e,"a",(function(){return n})),a.d(e,"b",(function(){return r}))},3258:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"dmarc-editor"},[a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Domain policy type")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{none:t.$gettext("None"),reject:t.$gettext("Reject"),quarantine:t.$gettext("Quarantine")}},slot:"content",model:{value:t.p,callback:function(e){t.p=e},expression:"p"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Subdomain policy type")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{"":t.$gettext("Same as domain"),none:t.$gettext("None"),reject:t.$gettext("Reject"),quarantine:t.$gettext("Quarantine")}},slot:"content",model:{value:t.sp,callback:function(e){t.sp=e},expression:"sp"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Aggregate Email (RUA)")]),t._v(" "),a("input-text",{attrs:{slot:"content"},slot:"content",model:{value:t.rua,callback:function(e){t.rua=e},expression:"rua"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Forensic Email (RUF)")]),t._v(" "),a("input-text",{attrs:{slot:"content"},slot:"content",model:{value:t.ruf,callback:function(e){t.ruf=e},expression:"ruf"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Report Format")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{afrf:t.$gettext("Authentication Failure Reporting Format"),iodef:t.$gettext("Incident Object Description Exchange Format")}},slot:"content",model:{value:t.rf,callback:function(e){t.rf=e},expression:"rf"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Reporting Interval")]),t._v(" "),a("input-text",{attrs:{slot:"content",number:"",double:""},slot:"content",model:{value:t.ri,callback:function(e){t.ri=e},expression:"ri"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Percentage")]),t._v(" "),a("input-text",{attrs:{slot:"content",number:"",suffix:"%"},slot:"content",model:{value:t.pct,callback:function(e){t.pct=e},expression:"pct"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Alignment mode for DKIM")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{relaxed:t.$gettext("Relaxed"),strict:t.$gettext("Strict")}},slot:"content",model:{value:t.adkim,callback:function(e){t.adkim=e},expression:"adkim"}})],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("Alignment mode for SPF")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{relaxed:t.$gettext("Relaxed"),strict:t.$gettext("Strict")}},slot:"content",model:{value:t.aspf,callback:function(e){t.aspf=e},expression:"aspf"}})],1)],1)},r=[];a.d(e,"a",(function(){return n})),a.d(e,"b",(function(){return r}))},3259:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"spf-editor"},[a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Redirect Domain\n ")]),t._v(" "),a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n The SPF record for this domain replaces the current record.\n ")]),t._v(" "),a("input-text",{attrs:{slot:"content"},slot:"content",model:{value:t.redirect,callback:function(e){t.redirect=e},expression:"redirect"}})],1),t._v(" "),t.redirect?t._e():[a("ui-form-element",[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content",value:"mx"},slot:"content",model:{value:t.options,callback:function(e){t.options=e},expression:"options"}},[a("translate",[t._v("Allow servers listed as MX to send email for this domain")])],1)],1),t._v(" "),a("ui-form-element",[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content",value:"a"},slot:"content",model:{value:t.options,callback:function(e){t.options=e},expression:"options"}},[a("translate",[t._v("Allow current IP address of the domain to send email for this domain")])],1)],1),t._v(" "),a("ui-form-element",[a("span",{attrs:{slot:"title"},slot:"title"}),t._v(" "),a("input-checkbox",{attrs:{slot:"content",value:"ptr"},slot:"content",model:{value:t.options,callback:function(e){t.options=e},expression:"options"}},[a("translate",{attrs:{"translate-params":{domain:t.domain}}},[t._v("\n Allow any hostname ending in %{ domain } to send email for this domain\n ")])],1)],1),t._v(" "),a("ui-form-element",[t._v("\n `\n "),a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n IP Addresses\n ")]),t._v(" "),a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n IP Addresses in CIDR format that deliver or relay mail for this domain\n ")]),t._v(" "),a("div",{directives:[{name:"flex",rawName:"v-flex",value:{dir:"column"},expression:"{ dir: 'column' }"}],attrs:{slot:"content"},slot:"content"},t._l(t.ips,(function(e,n){return a("input-ip",{directives:[{name:"margin",rawName:"v-margin",value:["5px",0],expression:"['5px', 0]"}],key:n,attrs:{netmask:e.netmask,version:e.version},on:{"update:netmask":function(a){return t.$set(e,"netmask",a)},"update:version":function(a){return t.$set(e,"version",a)}},model:{value:e.value,callback:function(a){t.$set(e,"value",a)},expression:"ip.value"}},[a("template",{slot:"additions:right"},[a("ui-button",n?{attrs:{theme:"light",size:"normal",icon:"delete"},on:{click:function(e){return t.removeIp(n)}}}:{attrs:{theme:"light",size:"normal",icon:"plus-fill"},on:{click:t.addIp}})],1)],2)})),1)],1),t._v(" "),a("ui-form-element",{attrs:{group:"spf-record"}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Server Hostname\n ")]),t._v(" "),a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n Add any other server hostname that may deliver or relay mail for this domain\n ")]),t._v(" "),a("div",{directives:[{name:"flex",rawName:"v-flex",value:{dir:"column"},expression:"{ dir: 'column' }"}],ref:"domains",attrs:{slot:"content"},slot:"content"},t._l(t.a,(function(e,n){return a("input-text",{directives:[{name:"margin",rawName:"v-margin",value:["5px",0],expression:"['5px', 0]"}],key:n,ref:"aInput"+n,refInFor:!0,attrs:{prefix:"a:"},model:{value:t.a[n],callback:function(e){t.$set(t.a,n,e)},expression:"a[index]"}},[a("template",{slot:"additions:right"},[a("ui-button",n?{attrs:{theme:"light",size:"normal",icon:"delete"},on:{click:function(e){return t.a.splice(n,1)}}}:{attrs:{theme:"light",size:"normal",icon:"plus-fill",disabled:t.lookupLimit},on:{click:t.addDomain}})],1)],2)})),1)],1),t._v(" "),t.lookupLimit&&t.$refs.domains?a("ui-tooltip-popup",{attrs:{slot:"popup",anchor:t.$refs.domains,theme:"danger",placement:t.$_Client.isMobile?"top":"right",visible:""},slot:"popup"},[a("translate",[t._v("Limit of 10 domain lookups reached")])],1):t._e(),t._v(" "),a("ui-form-element",{attrs:{group:"spf-record"}},[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Include Domain\n ")]),t._v(" "),a("translate",{attrs:{slot:"tooltip"},slot:"tooltip"},[t._v("\n Any domain that will be searched for a match\n ")]),t._v(" "),a("div",{directives:[{name:"flex",rawName:"v-flex",value:{dir:"column"},expression:"{ dir: 'column' }"}],attrs:{slot:"content"},slot:"content"},t._l(t.include,(function(e,n){return a("input-text",{directives:[{name:"margin",rawName:"v-margin",value:["5px",0],expression:"['5px', 0]"}],key:n,ref:"includeInput"+n,refInFor:!0,attrs:{prefix:"include:"},model:{value:t.include[n],callback:function(e){t.$set(t.include,n,e)},expression:"include[index]"}},[a("template",{slot:"additions:right"},[a("ui-button",n?{attrs:{theme:"light",size:"normal",icon:"delete"},on:{click:function(e){return t.include.splice(n,1)}}}:{attrs:{theme:"light",size:"normal",icon:"plus-fill",disabled:t.lookupLimit},on:{click:t.addInclude}})],1),t._v(" "),!n||t.validDomain(t.include[n])||t.$_Client.isPhone?t._e():a("template",{slot:"error"},[a("translate",[t._v("Invalid Domain")])],1)],2)})),1)],1),t._v(" "),a("ui-form-element",[a("translate",{attrs:{slot:"title"},slot:"title"},[t._v("\n Mode\n ")]),t._v(" "),a("div",{directives:[{name:"translate",rawName:"v-translate"}],attrs:{slot:"tooltip"},slot:"tooltip"},[a("strong",[t._v("Fail")]),t._v(": The SPF record has designated the host as NOT being allowed to send (reject)"),a("br"),t._v(" "),a("strong",[t._v("SoftFail")]),t._v(": The SPF record has designated the host as NOT being allowed to send but is in transition (accept but mark)"),a("br"),t._v(" "),a("strong",[t._v("Neutral")]),t._v(": The SPF record specifies explicitly that nothing can be said about validity (accept)"),a("br")]),t._v(" "),a("input-select",{attrs:{slot:"content",options:{"-all":t.$gettext("Fail"),"~all":t.$gettext("SoftFail"),"?all":t.$gettext("Neutral")}},slot:"content",model:{value:t.strict,callback:function(e){t.strict=e},expression:"strict"}})],1)]],2)},r=[];a.d(e,"a",(function(){return n})),a.d(e,"b",(function(){return r}))},3260:function(t,e,a){"use strict";a.r(e);var n=a(6),r=Object(n.curry)((function(t,e){return Object(n.map)((function(t){return t(e)}),t)})),i=a(18);a.d(e,"processIps",(function(){return o})),a.d(e,"processIncludes",(function(){return s})),a.d(e,"processA",(function(){return l})),a.d(e,"generate",(function(){return u})),a.d(e,"notSPF",(function(){return d})),a.d(e,"getStrict",(function(){return c})),a.d(e,"getOptions",(function(){return p})),a.d(e,"getRedirect",(function(){return f})),a.d(e,"getIp",(function(){return m})),a.d(e,"getIps",(function(){return v})),a.d(e,"getInclude",(function(){return h})),a.d(e,"getA",(function(){return _})),a.d(e,"parse",(function(){return b}));var o=function(t){return t.filter(n.pipe(n.prop("value"),n.complement(n.isEmpty))).map((function(t){var e=t.version,a=t.value,r=t.netmask;return[e.replace("v","ip"),":",a,r&&!n.contains("/",a)?"/"+r:""].join("")})).join(" ")},s=n.pipe(n.map(n.concat("include:")),n.join(" ")),l=n.pipe(n.map(n.concat("a:")),n.join(" ")),u=function(t){if(t.redirect)return"v=spf1 redirect="+t.redirect;var e=n.join(" ",t.options),a=o(t.ips),r=s(t.include);return["v=spf1",e,a,l(t.a),r,t.strict].filter(Boolean).join(" ")},d=n.complement(n.startsWith("v=spf1")),c=function(t){return t.includes("?all")?"?all":t.includes("~all")?"~all":"-all"},p=function(t){return["a","mx","ptr"].filter((function(e){return t.includes(" "+e+" ")}))},f=function(t){return i.Maybe.Some(t).flatMap((function(t){return t.includes("redirect=")?i.Maybe.Some(n.match(/.*redirect=([^ ]+).*/,t)):i.Maybe.None()})).map(n.nth(1)).orSome("")},m=function(t){var e=n.startsWith("ip4",t)?"v4":"v6",a=t.replace(/^ip.:/,"").split("/"),r=a[0],i=a[1];return{version:e,value:i?r+"/"+i:r,netmask:i}},v=function(t){return t.split(" ").filter(n.startsWith("ip")).map(m)},h=n.pipe(n.split(" "),n.filter(n.startsWith("include:")),n.map(n.replace("include:","")),n.when(n.isEmpty,n.always([""]))),_=n.pipe(n.split(" "),n.filter(n.startsWith("a:")),n.map(n.replace("a:","")),n.when(n.isEmpty,n.always([""]))),b=n.ifElse(d,n.always({options:["mx","a"],ips:[{version:"v4",value:"",netmask:""}],include:[""],strict:"-all",redirect:""}),r({options:p,strict:c,redirect:f,ips:v,include:h,a:_}))}}]); |