1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos synced 2026-06-16 04:24:56 +02:00

cmd/tools/redis-acl.go: adding flag for password length.

This commit is contained in:
Henrik Hautakoski 2024-03-14 00:26:17 +01:00
parent 72b4f0a327
commit bf97f2e97a
2 changed files with 9 additions and 8 deletions

View file

@ -47,6 +47,7 @@ func init() {
RedisACLCmd.Flags().String("prefix", "ship", "Redis key prefix")
RedisACLCmd.Flags().Bool("cleartext", false, "If passwords should be hashed or left in cleartext.")
RedisACLCmd.Flags().String("file", "", "Where the config should be written to (default: standard out)")
RedisACLCmd.Flags().Uint("pass-len", 32, "The length of generated passwords")
rootCmd.AddCommand(
validateCmd,

View file

@ -31,13 +31,12 @@ type User struct {
Hash bool
}
func NewUser(name, password string) User {
func NewUser(name, password string, pass_len uint) User {
if len(password) < 1 {
return User{
Name: name,
Password: randomString(32),
Password: randomString(pass_len),
Generated: true,
Hash: false,
}
}
return User{Name: name, Password: password}
@ -62,10 +61,10 @@ func (u User) PrintIfGeneratedPW() {
}
}
func randomString(length int) string {
func randomString(length uint) string {
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"
out := ""
for i := 0; i < length; i++ {
for i := 0; i < int(length); i++ {
idx := rnd.Intn(len(charset))
out += string(charset[idx])
}
@ -115,10 +114,11 @@ var RedisACLCmd = &cobra.Command{
flagClient, _ := cmd.Flags().GetString("client")
flagClientPw, _ := cmd.Flags().GetString("client-pw")
flagPrefix, _ := cmd.Flags().GetString("prefix")
flagPassLen, _ := cmd.Flags().GetUint("pass-len")
defaultUser := NewUser("default", flagDefUserPw)
serverUser := NewUser(flagServer, flagServerPw)
clientUser := NewUser(flagClient, flagClientPw)
defaultUser := NewUser("default", flagDefUserPw, flagPassLen)
serverUser := NewUser(flagServer, flagServerPw, flagPassLen)
clientUser := NewUser(flagClient, flagClientPw, flagPassLen)
atleastOneGeneratedPw := defaultUser.Generated || serverUser.Generated || clientUser.Generated