X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=fifos%2Fspies.go;h=29a1535fa38239a3242e11d9a9f38bff8c775234;hb=HEAD;hp=4edc1517fa234351d622c878dc77f0f1a6fa0e28;hpb=0c0a261a6ef4fddfc34a9150005f7964cc69c420;p=tofuproxy.git diff --git a/fifos/spies.go b/fifos/spies.go index 4edc151..d0fa4a9 100644 --- a/fifos/spies.go +++ b/fifos/spies.go @@ -1,24 +1,22 @@ -/* -tofuproxy -- flexible HTTP/WARC proxy with TLS certificates management -Copyright (C) 2021 Sergey Matveev - -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 -the Free Software Foundation, version 3 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ +// tofuproxy -- flexible HTTP/HTTPS proxy, TLS terminator, X.509 TOFU +// manager, WARC/geminispace browser +// Copyright (C) 2021-2024 Sergey Matveev +// +// 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 +// the Free Software Foundation, version 3 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . package fifos import ( - "bufio" "log" "os" @@ -44,19 +42,10 @@ func listSpies(p string) { func addSpy(p string) { for { - fd, err := os.OpenFile(p, os.O_RDONLY, os.FileMode(0666)) - if err != nil { - log.Fatalln(err) - } hosts := make(map[string]struct{}) - scanner := bufio.NewScanner(fd) - for scanner.Scan() { - t := scanner.Text() - if len(t) > 0 { - hosts[t] = struct{}{} - } + for _, line := range readLinesFromFIFO(p) { + hosts[line] = struct{}{} } - fd.Close() for host := range hosts { log.Printf("%s: adding host %s\n", p, host) }