コード例 #1
0
        private static void add_or_remove_licensed_source(ChocolateyLicense license, ConfigFileSettings configFileSettings)
        {
            // do not enable or disable the source, in case the user has disabled it
            var addOrUpdate = license.IsValid;
            var sources     = configFileSettings.Sources.Where(s => !s.Disabled).or_empty_list_if_null().ToList();

            var configSource = new ConfigFileSourceSetting
            {
                Id       = ApplicationParameters.ChocolateyLicensedFeedSourceName,
                Value    = ApplicationParameters.ChocolateyLicensedFeedSource,
                UserName = "******",
                Password = NugetEncryptionUtility.EncryptString(license.Id),
                Priority = 10
            };

            if (addOrUpdate && !sources.Any(s =>
                                            s.Id.is_equal_to(ApplicationParameters.ChocolateyLicensedFeedSourceName) &&
                                            NugetEncryptionUtility.DecryptString(s.Password).is_equal_to(license.Id)
                                            )
                )
            {
                configFileSettings.Sources.Add(configSource);
            }

            if (!addOrUpdate)
            {
                configFileSettings.Sources.RemoveWhere(s => s.Id.is_equal_to(configSource.Id));
            }
        }
コード例 #2
0
        private static void add_or_remove_licensed_source(ChocolateyLicense license, ConfigFileSettings configFileSettings)
        {
            // do not enable or disable the source, in case the user has disabled it
            var addOrUpdate = license.IsValid;
            var sources     = configFileSettings.Sources.or_empty_list_if_null().ToList();

            var configSource = new ConfigFileSourceSetting
            {
                Id                  = ApplicationParameters.ChocolateyLicensedFeedSourceName,
                Value               = ApplicationParameters.ChocolateyLicensedFeedSource,
                UserName            = "******",
                Password            = NugetEncryptionUtility.EncryptString(license.Id),
                Priority            = 10,
                BypassProxy         = false,
                AllowSelfService    = false,
                VisibleToAdminsOnly = false,
            };

            if (addOrUpdate && !sources.Any(s =>
                                            s.Id.is_equal_to(ApplicationParameters.ChocolateyLicensedFeedSourceName) &&
                                            NugetEncryptionUtility.DecryptString(s.Password).is_equal_to(license.Id)
                                            )
                )
            {
                configFileSettings.Sources.Add(configSource);
            }

            if (!addOrUpdate)
            {
                configFileSettings.Sources.RemoveWhere(s => s.Id.is_equal_to(configSource.Id));
            }

            // ensure only one licensed source - helpful when moving between licenses
            configFileSettings.Sources.RemoveWhere(s => s.Id.is_equal_to(configSource.Id) && !NugetEncryptionUtility.DecryptString(s.Password).is_equal_to(license.Id));
        }
コード例 #3
0
        public void source_add(ChocolateyConfiguration configuration)
        {
            var source = configFileSettings.Sources.FirstOrDefault(p => p.Id.is_equal_to(configuration.SourceCommand.Name));

            if (source == null)
            {
                source = new ConfigFileSourceSetting
                {
                    Id                  = configuration.SourceCommand.Name,
                    Value               = configuration.Sources,
                    UserName            = configuration.SourceCommand.Username,
                    Password            = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.Password),
                    Certificate         = configuration.SourceCommand.Certificate,
                    CertificatePassword = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.CertificatePassword),
                    Priority            = configuration.SourceCommand.Priority
                };
                configFileSettings.Sources.Add(source);

                _xmlService.serialize(configFileSettings, ApplicationParameters.GlobalConfigFileLocation);
                if (!configuration.QuietOutput)
                {
                    this.Log().Warn(() => "Added {0} - {1} (Priority {2})".format_with(source.Id, source.Value, source.Priority));
                }
            }
            else
            {
                var currentPassword            = string.IsNullOrWhiteSpace(source.Password) ? null : NugetEncryptionUtility.DecryptString(source.Password);
                var currentCertificatePassword = string.IsNullOrWhiteSpace(source.CertificatePassword) ? null : NugetEncryptionUtility.DecryptString(source.CertificatePassword);
                if (configuration.Sources.is_equal_to(source.Value) &&
                    configuration.SourceCommand.Priority == source.Priority &&
                    configuration.SourceCommand.Username.is_equal_to(source.UserName) &&
                    configuration.SourceCommand.Password.is_equal_to(currentPassword) &&
                    configuration.SourceCommand.CertificatePassword.is_equal_to(currentCertificatePassword) &&
                    configuration.SourceCommand.Certificate.is_equal_to(source.Certificate)
                    )
                {
                    if (!configuration.QuietOutput)
                    {
                        this.Log().Warn(NO_CHANGE_MESSAGE);
                    }
                }
                else
                {
                    source.Value               = configuration.Sources;
                    source.Priority            = configuration.SourceCommand.Priority;
                    source.UserName            = configuration.SourceCommand.Username;
                    source.Password            = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.Password);
                    source.CertificatePassword = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.CertificatePassword);
                    source.Certificate         = configuration.SourceCommand.Certificate;

                    _xmlService.serialize(configFileSettings, ApplicationParameters.GlobalConfigFileLocation);
                    if (!configuration.QuietOutput)
                    {
                        this.Log().Warn(() => "Updated {0} - {1} (Priority {2})".format_with(source.Id, source.Value, source.Priority));
                    }
                }
            }
        }
コード例 #4
0
        public void source_add(ChocolateyConfiguration configuration)
        {
            var source = configFileSettings.Sources.FirstOrDefault(p => p.Id.is_equal_to(configuration.SourceCommand.Name));
            if (source == null)
            {
                source = new ConfigFileSourceSetting
                {
                    Id = configuration.SourceCommand.Name,
                    Value = configuration.Sources,
                    UserName = configuration.SourceCommand.Username,
                    Password = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.Password),
                    Priority = configuration.SourceCommand.Priority
                };
                configFileSettings.Sources.Add(source);

                _xmlService.serialize(configFileSettings, ApplicationParameters.GlobalConfigFileLocation);
                this.Log().Warn(() => "Added {0} - {1} (Priority {2})".format_with(source.Id, source.Value, source.Priority));
            }
            else
            {
                var currentPassword = string.IsNullOrWhiteSpace(source.Password) ? null : NugetEncryptionUtility.DecryptString(source.Password);
                if (configuration.Sources.is_equal_to(source.Value) &&
                    configuration.SourceCommand.Priority == source.Priority &&
                    configuration.SourceCommand.Username.is_equal_to(source.UserName) &&
                    configuration.SourceCommand.Password.is_equal_to(currentPassword)
                    )
                {
                    this.Log().Warn(NO_CHANGE_MESSAGE);
                }
                else
                {
                    source.Value = configuration.Sources;
                    source.Priority = configuration.SourceCommand.Priority;
                    source.UserName = configuration.SourceCommand.Username;
                    source.Password = NugetEncryptionUtility.EncryptString(configuration.SourceCommand.Password);

                    _xmlService.serialize(configFileSettings, ApplicationParameters.GlobalConfigFileLocation);
                    this.Log().Warn(() => "Updated {0} - {1} (Priority {2})".format_with(source.Id, source.Value, source.Priority));
                }
            }
        }
コード例 #5
0
 public virtual bool skip_source(ConfigFileSourceSetting source, ChocolateyConfiguration configuration)
 {
     return(false);
 }
コード例 #6
0
        private static void add_or_remove_licensed_source(ChocolateyLicense license, ConfigFileSettings configFileSettings)
        {
            // do not enable or disable the source, in case the user has disabled it
            var addOrUpdate = license.IsValid;
            var sources = configFileSettings.Sources.or_empty_list_if_null().ToList();

            var configSource = new ConfigFileSourceSetting
            {
                Id = ApplicationParameters.ChocolateyLicensedFeedSourceName,
                Value = ApplicationParameters.ChocolateyLicensedFeedSource,
                UserName = "******",
                Password = NugetEncryptionUtility.EncryptString(license.Id),
                Priority = 10
            };

            if (addOrUpdate && !sources.Any(s =>
                    s.Id.is_equal_to(ApplicationParameters.ChocolateyLicensedFeedSourceName)
                    && NugetEncryptionUtility.DecryptString(s.Password).is_equal_to(license.Id)
                    )
                )
            {
                configFileSettings.Sources.Add(configSource);
            }

            if (!addOrUpdate)
            {
                configFileSettings.Sources.RemoveWhere(s => s.Id.is_equal_to(configSource.Id));
            }
        }