3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-13 23:49:30 +01:00

when entering/generating the password it's helpful to at least be asked to confirm the input so if you get something like an extraneous character, on confirmation, you could catch that

This commit is contained in:
Sean Enck 2018-04-10 13:21:51 -04:00
parent f1af7a2e2a
commit dcf4cb7cde
No known key found for this signature in database
GPG Key ID: F08D2E576641A175

View File

@ -24,6 +24,15 @@ import (
var commit = ""
// get a password from stdin from the user
func getPassword() string {
bytePassword, err := terminal.ReadPassword(int(syscall.Stdin))
if err != nil {
log.Fatal("Error reading password:", err.Error())
}
return string(bytePassword)
}
func main() {
version := irc.SemVer
usage := `oragono.
@ -56,16 +65,18 @@ Options:
if arguments["genpasswd"].(bool) {
fmt.Print("Enter Password: ")
bytePassword, err := terminal.ReadPassword(int(syscall.Stdin))
if err != nil {
log.Fatal("Error reading password:", err.Error())
password := getPassword()
fmt.Print("\n")
fmt.Print("Reenter Password: ")
confirm := getPassword()
fmt.Print("\n")
if confirm != password {
log.Fatal("passwords do not match")
}
password := string(bytePassword)
encoded, err := passwd.GenerateEncodedPassword(password)
if err != nil {
log.Fatal("encoding error:", err.Error())
}
fmt.Print("\n")
fmt.Println(encoded)
} else if arguments["initdb"].(bool) {
irc.InitDB(config.Datastore.Path)