8e70ffac38
ADDED: * envs.MustEnv(), envs.MustEnvNoBlank() UPDATED: * dep mods, Go version
69 lines
2.2 KiB
Plaintext
69 lines
2.2 KiB
Plaintext
- refactor the elevation detection stuff. I'm not terribly happy with it.
|
|
|
|
- add generic password prompt func that takes in a `prompt []byte` param and returns `(passwd []byte, err error)`
|
|
```
|
|
func getPasswd(prompt []byte) (passwd []byte, err error) {
|
|
|
|
var b []byte
|
|
var newLnd bool
|
|
var origIn *term.State
|
|
var origOut *term.State
|
|
var fdIn int = int(os.Stdin.Fd())
|
|
var fdOut int = int(os.Stdout.Fd())
|
|
|
|
if origIn, err = term.GetState(fdIn); err != nil {
|
|
return
|
|
}
|
|
if origOut, err = term.GetState(fdOut); err != nil {
|
|
return
|
|
}
|
|
defer func() {
|
|
var tErr error
|
|
|
|
if !newLnd {
|
|
fmt.Println()
|
|
}
|
|
|
|
if tErr = term.Restore(fdIn, origIn); tErr != nil {
|
|
return
|
|
}
|
|
if tErr = term.Restore(fdOut, origOut); tErr != nil {
|
|
return
|
|
}
|
|
}()
|
|
|
|
os.Stdout.Write(prompt)
|
|
if b, err = term.ReadPassword(fdIn); err != nil {
|
|
return
|
|
}
|
|
passwd = b
|
|
fmt.Println()
|
|
newLnd = true
|
|
|
|
return
|
|
}
|
|
```
|
|
|
|
|
|
- password generator/hash+salter and "checksum/hash guesser" utility/library
|
|
-- incorporate with r00t2.io/pwgen
|
|
-- incorporate with https://github.com/tredoe/osutil ?
|
|
-- cli flag to dump flat hashes too (https://github.com/hlandau/passlib and others soon in pwgen)
|
|
|
|
- auger needs to be build-constrained to linux.
|
|
-- (i think i fixed this)
|
|
|
|
- unit tests
|
|
|
|
- constants/vars for errors
|
|
|
|
- func and struct to return segregated system-level env vars vs. user env vars (mostly usable on windows) (see envs/.TODO.go.UNFINISHED)
|
|
|
|
- validator for windows usernames, domains, etc. (for *NIX, https://unix.stackexchange.com/a/435120/284004)
|
|
-- https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/naming-conventions-for-computer-domain-site-ou
|
|
-- https://support.microsoft.com/en-us/topic/2dc5c4b9-0881-2e0a-48df-f120493a2d3e
|
|
-- https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/-2000-server/cc959336(v=technet.10)?redirectedfrom=MSDN
|
|
-- https://stackoverflow.com/questions/33078854/what-is-the-regex-for-windows-domain-username-in-c
|
|
|
|
- finish net
|