public virtual void handle_validation(ChocolateyConfiguration configuration) { if (string.IsNullOrWhiteSpace(configuration.PackageNames)) { throw new ApplicationException("Package name is required. Please pass at least one package name to upgrade."); } if (configuration.ForceDependencies && !configuration.Force) { throw new ApplicationException("Force dependencies can only be used with force also turned on."); } if (!string.IsNullOrWhiteSpace(configuration.Input)) { var unparsedOptionsAndPackages = configuration.Input.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); if (!configuration.Information.IsLicensedVersion) { foreach (var argument in unparsedOptionsAndPackages.or_empty_list_if_null()) { var arg = argument.to_lower(); if (arg.StartsWith("-dir") || arg.StartsWith("--dir") || arg.StartsWith("-install") || arg.StartsWith("--install")) { throw new ApplicationException("It appears you are attempting to use options that may be only available in licensed versions of Chocolatey ('{0}'). There may be ways in the open source edition to achieve what you are looking to do. Please remove the argument and consult the documentation.".format_with(arg)); } } } } if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public virtual void handle_validation(ChocolateyConfiguration configuration) { if (string.IsNullOrWhiteSpace(configuration.PackageNames)) { throw new ApplicationException("Package name is required. Please pass at least one package name to install."); } // Need a better check on this before releasing. Issue will be covered by other fixes //// investigate https://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars(v=vs.100).aspx //if (configuration.PackageNames.Contains(":")) //{ // throw new ApplicationException("Package name cannot contain invalid characters."); //} if (configuration.ForceDependencies && !configuration.Force) { throw new ApplicationException("Force dependencies can only be used with force also turned on."); } if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public override PSCredential PromptForCredential(string caption, string message, string userName, string targetName, PSCredentialTypes allowedCredentialTypes, PSCredentialUIOptions options) { this.Log().Warn(caption.escape_curly_braces()); if (string.IsNullOrWhiteSpace(userName)) { this.Log().Warn("Please provide username:"******"Please provide password:"******"A userName or password was not entered. This may result in future failures."); } return(new PSCredential(userName, password.to_secure_string())); }
public virtual void handle_validation(ChocolateyConfiguration configuration) { if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public override void initialize_connections(ConfigurationPropertyHolder configuration_property_holder) { if (!string.IsNullOrEmpty(connection_string)) { // Must allow User variables for SPROCs var connectionBuilder = new MySqlConnectionStringBuilder(connection_string); if (!connectionBuilder.AllowUserVariables) { connectionBuilder.Add("Allow User Variables", "True"); connection_string = connectionBuilder.ConnectionString; } string[] parts = connection_string.Split(';'); foreach (string part in parts) { if (string.IsNullOrEmpty(server_name) && (part.to_lower().Contains("server") || part.to_lower().Contains("data source"))) { server_name = part.Substring(part.IndexOf("=") + 1); } if (string.IsNullOrEmpty(database_name) && (part.to_lower().Contains("database") || part.to_lower().Contains("database"))) { database_name = part.Substring(part.IndexOf("=") + 1); } } } if (server_name == infrastructure.ApplicationParameters.default_server_name) { server_name = "localhost"; } if (string.IsNullOrEmpty(connection_string)) { InteractivePrompt.write_header(configuration_property_holder); var user_name = InteractivePrompt.get_user("root", configuration_property_holder); var password = InteractivePrompt.get_password("root", configuration_property_holder); InteractivePrompt.write_footer(); connection_string = build_connection_string(server_name, database_name, user_name, password); } configuration_property_holder.ConnectionString = connection_string; set_provider(); if (string.IsNullOrEmpty(admin_connection_string)) { var builder = new MySqlConnectionStringBuilder(connection_string); builder.Database = "information_schema"; admin_connection_string = builder.ConnectionString; } configuration_property_holder.ServerName = server_name; configuration_property_holder.DatabaseName = database_name; configuration_property_holder.ConnectionStringAdmin = admin_connection_string; }
public override SecureString ReadLineAsSecureString() { if (!_configuration.PromptForConfirmation) { this.Log().Warn(ChocolateyLoggers.Important, @" Confirmation (`-y`) is set. Respond within {0} seconds or the default selection will be chosen.".format_with(TIMEOUT_IN_SECONDS)); } var secureStringPlainText = InteractivePrompt.get_password(_configuration.PromptForConfirmation); return(secureStringPlainText.to_secure_string()); }
public virtual void handle_validation(ChocolateyConfiguration configuration) { if (configuration.SourceCommand.Command != SourceCommandType.list && string.IsNullOrWhiteSpace(configuration.SourceCommand.Name)) { throw new ApplicationException("When specifying the subcommand '{0}', you must also specify --name.".format_with(configuration.SourceCommand.Command.to_string())); } if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public override void initialize_connections(ConfigurationPropertyHolder configuration_property_holder) { if (!string.IsNullOrEmpty(connection_string)) { var parts = connection_string.Split(';'); foreach (var part in parts) { if (string.IsNullOrEmpty(server_name) && (part.to_lower().Contains("server") || part.to_lower().Contains("data source"))) { server_name = part.Substring(part.IndexOf("=") + 1); } if (string.IsNullOrEmpty(database_name) && (part.to_lower().Contains("database") || part.to_lower().Contains("database"))) { database_name = part.Substring(part.IndexOf("=") + 1); } } } server_name = server_name.to_lower(); database_name = database_name.to_lower(); configuration_property_holder.ServerName = server_name; configuration_property_holder.DatabaseName = database_name; if (server_name == infrastructure.ApplicationParameters.default_server_name) { server_name = "localhost"; } if (string.IsNullOrEmpty(connection_string)) { InteractivePrompt.write_header(configuration_property_holder); var user_name = InteractivePrompt.get_user("postgres", configuration_property_holder); var password = InteractivePrompt.get_password("postgres", configuration_property_holder); InteractivePrompt.write_footer(); connection_string = build_connection_string(server_name, database_name, user_name, password); } configuration_property_holder.ConnectionString = connection_string; set_provider(); if (string.IsNullOrEmpty(admin_connection_string)) { admin_connection_string = Regex.Replace(connection_string, "database=.*?;", "database=postgres;", RegexOptions.IgnoreCase); } configuration_property_holder.ConnectionStringAdmin = admin_connection_string; }
public virtual void handle_validation(ChocolateyConfiguration configuration) { if (string.IsNullOrWhiteSpace(configuration.PackageNames)) { throw new ApplicationException("Package name is required. Please pass at least one package name to upgrade."); } if (configuration.ForceDependencies && !configuration.Force) { throw new ApplicationException("Force dependencies can only be used with force also turned on."); } if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public virtual void handle_validation(ChocolateyConfiguration configuration) { if (string.IsNullOrWhiteSpace(configuration.PackageNames)) { throw new ApplicationException("Package name is required. Please pass at least one package name to install."); } // Need a better check on this before releasing. Issue will be covered by other fixes //// investigate https://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars(v=vs.100).aspx //if (configuration.PackageNames.Contains(":")) //{ // throw new ApplicationException("Package name cannot contain invalid characters."); //} if (configuration.ForceDependencies && !configuration.Force) { throw new ApplicationException("Force dependencies can only be used with force also turned on."); } if (!string.IsNullOrWhiteSpace(configuration.Input)) { var unparsedOptionsAndPackages = configuration.Input.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); if (!configuration.Information.IsLicensedVersion) { foreach (var argument in unparsedOptionsAndPackages.or_empty_list_if_null()) { var arg = argument.to_lower(); if (arg.StartsWith("-dir") || arg.StartsWith("--dir") || arg.StartsWith("-install") || arg.StartsWith("--install")) { throw new ApplicationException("It appears you are attempting to use options that may be only available in licensed versions of Chocolatey ('{0}'). There may be ways in the open source edition to achieve what you are looking to do. Please remove the argument and consult the documentation.".format_with(arg)); } } } } if (!string.IsNullOrWhiteSpace(configuration.SourceCommand.Username) && string.IsNullOrWhiteSpace(configuration.SourceCommand.Password)) { this.Log().Debug(ChocolateyLoggers.LogFileOnly, "Username '{0}' provided. Asking for password.".format_with(configuration.SourceCommand.Username)); System.Console.Write("User name '{0}' provided. Password: ".format_with(configuration.SourceCommand.Username)); configuration.SourceCommand.Password = InteractivePrompt.get_password(configuration.PromptForConfirmation); } }
public ICredentials get_credentials_from_user(Uri uri, IWebProxy proxy, CredentialType credentialType) { if (!_config.Information.IsInteractive) { // https://blogs.msdn.microsoft.com/buckh/2004/07/28/authentication-in-web-services-with-httpwebrequest/ //return credentialType == CredentialType.ProxyCredentials ? CredentialCache.DefaultCredentials : CredentialCache.DefaultNetworkCredentials; return(CredentialCache.DefaultCredentials); } string message = credentialType == CredentialType.ProxyCredentials ? "Please provide proxy credentials:" : "Please provide credentials for: {0}".format_with(uri.OriginalString); this.Log().Info(ChocolateyLoggers.Important, message); Console.Write("User name: "); string username = Console.ReadLine(); Console.Write("Password: "******"No password specified, this will probably error."); //return CredentialCache.DefaultNetworkCredentials; } var credentials = new NetworkCredential { UserName = username, Password = password, //SecurePassword = password.to_secure_string(), }; return(credentials); }