forked from External/ergo
Compare commits
1 commit
master
...
devel+pwch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ccb0206dcc |
1 changed files with 22 additions and 0 deletions
22
ergo.go
22
ergo.go
|
|
@ -7,6 +7,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
@ -20,6 +21,7 @@ import (
|
||||||
"github.com/ergochat/ergo/irc"
|
"github.com/ergochat/ergo/irc"
|
||||||
"github.com/ergochat/ergo/irc/logger"
|
"github.com/ergochat/ergo/irc/logger"
|
||||||
"github.com/ergochat/ergo/irc/mkcerts"
|
"github.com/ergochat/ergo/irc/mkcerts"
|
||||||
|
"github.com/ergochat/ergo/irc/passwd"
|
||||||
)
|
)
|
||||||
|
|
||||||
// set via linker flags, either by make or by goreleaser:
|
// set via linker flags, either by make or by goreleaser:
|
||||||
|
|
@ -91,6 +93,23 @@ func doMkcerts(configFile string, quiet bool) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func doCheckPasswd() (returnCode int) {
|
||||||
|
reader := bufio.NewReader(os.Stdin)
|
||||||
|
text, err := reader.ReadBytes('\n')
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
var hashAndPassword [2]string
|
||||||
|
err = json.Unmarshal(text, &hashAndPassword)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
if passwd.CompareHashAndPassword([]byte(hashAndPassword[0]), []byte(hashAndPassword[1])) != nil {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
irc.SetVersionString(version, commit)
|
irc.SetVersionString(version, commit)
|
||||||
usage := `ergo.
|
usage := `ergo.
|
||||||
|
|
@ -100,6 +119,7 @@ Usage:
|
||||||
ergo importdb <database.json> [--conf <filename>] [--quiet]
|
ergo importdb <database.json> [--conf <filename>] [--quiet]
|
||||||
ergo genpasswd [--conf <filename>] [--quiet]
|
ergo genpasswd [--conf <filename>] [--quiet]
|
||||||
ergo mkcerts [--conf <filename>] [--quiet]
|
ergo mkcerts [--conf <filename>] [--quiet]
|
||||||
|
ergo checkpasswd
|
||||||
ergo run [--conf <filename>] [--quiet] [--smoke]
|
ergo run [--conf <filename>] [--quiet] [--smoke]
|
||||||
ergo -h | --help
|
ergo -h | --help
|
||||||
ergo --version
|
ergo --version
|
||||||
|
|
@ -144,6 +164,8 @@ Options:
|
||||||
} else if arguments["mkcerts"].(bool) {
|
} else if arguments["mkcerts"].(bool) {
|
||||||
doMkcerts(arguments["--conf"].(string), arguments["--quiet"].(bool))
|
doMkcerts(arguments["--conf"].(string), arguments["--quiet"].(bool))
|
||||||
return
|
return
|
||||||
|
} else if arguments["checkpasswd"].(bool) {
|
||||||
|
os.Exit(doCheckPasswd())
|
||||||
}
|
}
|
||||||
|
|
||||||
configfile := arguments["--conf"].(string)
|
configfile := arguments["--conf"].(string)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue