]> Sergey Matveev's repositories - tofuproxy.git/blobdiff - httpauth.go
Lowercase domain names
[tofuproxy.git] / httpauth.go
index 819a78c36a78913c7341fd1497c11d9c95eb1811..96f23d48a5b31bebae0b4defa4eecc19f6c9185a 100644 (file)
@@ -1,7 +1,7 @@
 /*
 tofuproxy -- flexible HTTP/HTTPS proxy, TLS terminator, X.509 TOFU
              manager, WARC/geminispace browser
-Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2021-2023 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -25,13 +25,14 @@ import (
        "os/exec"
        "strings"
 
+       "go.cypherpunks.ru/netrc"
        ttls "go.stargrave.org/tofuproxy/tls"
 )
 
 func authDialog(host, realm string) (string, string, error) {
        var b bytes.Buffer
-       userInit, passInit := findInNetrc(host)
-       b.WriteString(fmt.Sprintf(`
+       userInit, passInit := netrc.Find(host)
+       fmt.Fprintf(&b, `
 tk_setPalette grey
 wm title . "Unauthorized: %s"
 
@@ -59,7 +60,7 @@ bind . <KeyPress> {switch -exact %%K {
     q {exit 0} ; # reject once
     l login
 }}
-`, realm, userInit, passInit))
+`, strings.ReplaceAll(realm, "\"", ""), userInit, passInit)
        cmd := exec.Command(ttls.CmdWish)
        cmd.Stdin = &b
        out, err := cmd.Output()