Exemple #1
0
 public IIS(
     ILogService logService, IUserRoleService roleService,
     IISHelper helper, IISOptions options)
 {
     _log             = logService;
     _options         = options;
     _helper          = helper;
     _userRoleService = roleService;
 }
Exemple #2
0
        public void ConvertTarget(LegacyScheduledRenewal legacy, Renewal ret)
        {
            if (legacy.Binding == null)
            {
                throw new Exception("Cannot convert renewal with empty binding");
            }
            if (string.IsNullOrEmpty(legacy.Binding.TargetPluginName))
            {
                legacy.Binding.TargetPluginName = legacy.Binding.PluginName switch
                {
                    "IIS" => legacy.Binding.HostIsDns == false ? "IISSite" : "IISBinding",
                    "IISSiteServer" => "IISSites",
                    _ => "Manual",
                };
            }
            switch (legacy.Binding.TargetPluginName.ToLower())
            {
            case "iisbinding":
                var options = new target.IISOptions();
                if (!string.IsNullOrEmpty(legacy.Binding.Host))
                {
                    options.IncludeHosts = new List <string>()
                    {
                        legacy.Binding.Host
                    };
                }
                var siteId = legacy.Binding.TargetSiteId ?? legacy.Binding.SiteId ?? 0;
                if (siteId > 0)
                {
                    options.IncludeSiteIds = new List <long>()
                    {
                        siteId
                    };
                }
                ret.TargetPluginOptions = options;
                break;

            case "iissite":
                options = new target.IISOptions();
                if (!string.IsNullOrEmpty(legacy.Binding.CommonName))
                {
                    options.CommonName = legacy.Binding.CommonName.ConvertPunycode();
                }
                siteId = legacy.Binding.TargetSiteId ?? legacy.Binding.SiteId ?? 0;
                if (siteId > 0)
                {
                    options.IncludeSiteIds = new List <long>()
                    {
                        siteId
                    };
                }
                options.ExcludeHosts    = legacy.Binding.ExcludeBindings.ParseCsv();
                ret.TargetPluginOptions = options;
                break;

            case "iissites":
                options = new target.IISOptions();
                if (!string.IsNullOrEmpty(legacy.Binding.CommonName))
                {
                    options.CommonName = legacy.Binding.CommonName.ConvertPunycode();
                }
                options.IncludeSiteIds  = legacy.Binding.Host.ParseCsv().Select(x => long.Parse(x)).ToList();
                options.ExcludeHosts    = legacy.Binding.ExcludeBindings.ParseCsv();
                ret.TargetPluginOptions = options;
                break;

            case "manual":
                ret.TargetPluginOptions = new target.ManualOptions()
                {
                    CommonName       = string.IsNullOrEmpty(legacy.Binding.CommonName) ? legacy.Binding.Host : legacy.Binding.CommonName.ConvertPunycode(),
                    AlternativeNames = legacy.Binding.AlternativeNames.Select(x => x.ConvertPunycode()).ToList()
                };
                break;
            }
        }