Skip to content
Snippets Groups Projects

Resolve "Refactor how PNDs are implemented in the code"

Merged Fabian Seidl requested to merge 243-refactor-how-pnds-are-implemented-in-the-code into develop
5 files
+ 22
10
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 17
8
@@ -291,13 +291,22 @@ func ensureDefaultUserExists() error {
@@ -291,13 +291,22 @@ func ensureDefaultUserExists() error {
if err != nil {
if err != nil {
log.Info(err)
log.Info(err)
}
}
if adminUser == nil {
if adminUser == nil {
// Generate a password that is 16 characters long with 3 digits, 0 symbols,
// Getting the password from the environment variable which is set in gosdn.clab.yaml.
// allowing upper and lower case letters, disallowing repeat characters.
var preDefinedPassword = os.Getenv("GOSDN_ADMIN_PASSWORD")
generatedPassword, err := password.Generate(16, 3, 0, true, false)
var usedPassword string
if err != nil {
log.Fatal(err)
// If environment variable is set and password is not 0, the password from the environment variable will be used.
 
if len(preDefinedPassword) == 0 {
 
// Generate a password that is 16 characters long with 3 digits, 0 symbols,
 
// allowing upper and lower case letters, disallowing repeat characters.
 
generatedPassword, err := password.Generate(16, 3, 0, true, false)
 
if err != nil {
 
log.Fatal(err)
 
}
 
usedPassword = generatedPassword
 
} else {
 
usedPassword = preDefinedPassword
}
}
salt, err := password.Generate(16, 3, 0, true, false)
salt, err := password.Generate(16, 3, 0, true, false)
@@ -305,14 +314,14 @@ func ensureDefaultUserExists() error {
@@ -305,14 +314,14 @@ func ensureDefaultUserExists() error {
log.Fatal(err)
log.Fatal(err)
}
}
hashedPassword := base64.RawStdEncoding.EncodeToString(argon2.IDKey([]byte(generatedPassword), []byte(salt), 1, 64*1024, 4, 32))
hashedPassword := base64.RawStdEncoding.EncodeToString(argon2.IDKey([]byte(usedPassword), []byte(salt), 1, 64*1024, 4, 32))
err = c.userService.Add(rbacImpl.NewUser(uuid.New(), defaultUserName, map[string]string{config.BasePndUUID.String(): "admin"}, string(hashedPassword), "", salt, conflict.Metadata{}))
err = c.userService.Add(rbacImpl.NewUser(uuid.New(), defaultUserName, map[string]string{config.BasePndUUID.String(): "admin"}, string(hashedPassword), "", salt, conflict.Metadata{}))
if err != nil {
if err != nil {
return err
return err
}
}
fmt.Printf("########\n Generated admin password: %s\n########\n", generatedPassword)
fmt.Printf("########\n Generated admin password: %s\n########\n", usedPassword)
}
}
return nil
return nil
Loading