X-Git-Url: http://www.git.stargrave.org/?p=tofuproxy.git;a=blobdiff_plain;f=netrc.go;h=bdc61bb46fca4ed7d720495e00ba82c79ea29820;hp=d8877b4b9f41005f443f30937ed4ebdcb1cbe719;hb=HEAD;hpb=12ef431d87442cac2111a0d3af3d13017e695348 diff --git a/netrc.go b/netrc.go deleted file mode 100644 index d8877b4..0000000 --- a/netrc.go +++ /dev/null @@ -1,66 +0,0 @@ -// Nearly all code is taken from src/cmd/go/internal/auth/netrc.go - -package tofuproxy - -import ( - "log" - "os" - "path/filepath" - "strings" -) - -func findInNetrc(host string) (string, string) { - netrcPath, ok := os.LookupEnv("NETRC") - if !ok { - homeDir, err := os.UserHomeDir() - if err != nil { - log.Fatalln(err) - } - netrcPath = filepath.Join(homeDir, ".netrc") - } - data, err := os.ReadFile(netrcPath) - if err != nil { - if os.IsNotExist(err) { - return "", "" - } - log.Fatalln(err) - } - inMacro := false - var machine, login, password string - for _, line := range strings.Split(string(data), "\n") { - if inMacro { - if line == "" { - inMacro = false - } - continue - } - fields := strings.Fields(line) - i := 0 - for ; i < len(fields)-1; i += 2 { - switch fields[i] { - case "machine": - machine = fields[i+1] - login = "" - password = "" - case "default": - break - case "login": - login = fields[i+1] - case "password": - password = fields[i+1] - case "macdef": - inMacro = true - } - if machine != "" && login != "" && password != "" { - if machine == host { - return login, password - } - machine, login, password = "", "", "" - } - } - if i < len(fields) && fields[i] == "default" { - break - } - } - return "", "" -}