File: /volume1/@appstore/MailPlus-Server/app/PunycodeExtension.js
/* Copyright (c) 2022 Synology Inc. All rights reserved. */
if(window.punycode){Ext.define("SYNO.SDS.MailPlusServer.Punycode",{statics:{Converter:window.punycode}});window.punycode=undefined;SYNO.SDS.MailPlusServer.EaiLocalPartValidator=function(b){var a=/[\\\{\}\[\]\:\/\(\)",;<>@\s]/;var d=/^[^\.]/;var c=/[^\.]$/;return(b.search(a)==-1)&&d.test(b)&&c.test(b)&&-1==b.indexOf("..")};SYNO.SDS.MailPlusServer.EaiDomainValidator=function(b){var a;a=SYNO.SDS.MailPlusServer.Punycode.Converter.toASCII(b);return Ext.form.VTypes.hostname(a)};SYNO.SDS.MailPlusServer.EaiWildcardDomainValidator=function(b){var a;var d=/^[a-zA-Z0-9\*][\-.a-zA-Z0-9\*]{0,254}$/;var c=/^[a-zA-Z0-9\*]([\-a-zA-Z0-9\*]{0,61}[a-zA-Z0-9\*]){0,1}([.][a-zA-Z0-9\*]([\-a-zA-Z0-9\*]{0,61}[a-zA-Z0-9\*]){0,1}){0,}$/;a=SYNO.SDS.MailPlusServer.Punycode.Converter.toASCII(b);if(!d.test(a)){return false}return c.test(a)};SYNO.SDS.MailPlusServer.EaiAddrValidator=function(e,d){var c=e.lastIndexOf("@");var a,b;if(-1===c){return false}a=e.slice(0,c);b=e.slice(c+1);if(!SYNO.SDS.MailPlusServer.EaiLocalPartValidator(a)){return false}if(true===d){return SYNO.SDS.MailPlusServer.EaiWildcardDomainValidator(b)}else{return SYNO.SDS.MailPlusServer.EaiDomainValidator(b)}};SYNO.SDS.MailPlusServer.EaiWildcardAddrValidator=function(a){return SYNO.SDS.MailPlusServer.EaiAddrValidator(a,true)}}else{SYNO.SDS.MailPlusServer.EaiDomainValidator=Ext.form.VTypes.hostname;SYNO.SDS.MailPlusServer.EaiAddrValidator=Ext.form.VTypes.email;SYNO.SDS.MailPlusServer.EaiWildcardAddrValidator=function(a){return/^[\-.A-Za-z0-9_\*]+@[\-.A-Za-z0-9_\*]+$/.test(a)}};