From 6529fe49fd9bf949ac590127eaa4b64fd6ba4266 Mon Sep 17 00:00:00 2001 From: Justin Reichardt Date: Thu, 9 Dec 2021 16:28:30 -0600 Subject: [PATCH] Copies the original content of hosts Copies it to the tmp file to be copied back later --- src/rhosts.go | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/rhosts.go b/src/rhosts.go index 89e95bd..bce3690 100644 --- a/src/rhosts.go +++ b/src/rhosts.go @@ -40,7 +40,7 @@ func main() { sites, downloads := cfgparse(cfgloc) log.Print("Sites:\n",sites) log.Print("Downloads:\n",downloads) - + copystatichosts(tmpdir, hostsloc) downloadcontent(downloads, tmpdir) } @@ -137,6 +137,38 @@ func cfgparseline(buf string) (uint8, string){ return state, body } +func copystatichosts(tmpdir, hostsloc string) error { + fileloc := tmpdir + "rhosts" + file, err := os.Create(fileloc) + defer file.Close() + if err != nil { + log.Print(err) + return err + } + filer, err := os.Open(hostsloc) + defer filer.Close() + if err != nil { + log.Print(err) + return err + } + filebuf := bufio.NewScanner(filer) + filebuf.Split(bufio.ScanLines) + for res := filebuf.Scan();res;res = filebuf.Scan() { + buff := filebuf.Text() + if (buff == "# rhosts begin"){ + break + } + _,err := file.WriteString(buff + "\n") + if (err != nil) { + log.Print(err) + return err + } + } + _,err = file.WriteString("# rhosts begin\n") + err = filebuf.Err() + return err +} + func downloadcontent(downloads []string, tmpdir string) { fileloc := tmpdir + "rhostsdown" log.Print("Opening: ", fileloc)