fix pledge for chmod UNIX domain socket - twitch-go - twitch.tv web application in Go
 (HTM) git clone git://git.codemadness.org/twitch-go
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit b29e7fba6bb3d17545c3f1263ca95759d6efa407
 (DIR) parent 2143bf71ca85895295320b241f2a1c5068a8dc34
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri,  8 Sep 2017 12:33:53 +0200
       
       fix pledge for chmod UNIX domain socket
       
       minor style for template values (struct{}{})
       
       Diffstat:
         M main.go                             |      35 +++++++++++++++++++-------------
       
       1 file changed, 21 insertions(+), 14 deletions(-)
       ---
 (DIR) diff --git a/main.go b/main.go
       @@ -206,10 +206,9 @@ func GamesHandler(w http.ResponseWriter, r *http.Request) error {
        }
        
        func LinksHandler(w http.ResponseWriter, r *http.Request) error {
       -        return templates.Render(w, "links.html", "page.html", make(map[string]string))
       +        return templates.Render(w, "links.html", "page.html", struct{}{})
        }
        
       -
        func usage() {
                fmt.Fprintf(os.Stderr, "Usage: %s\n", os.Args[0])
                flag.PrintDefaults()
       @@ -228,14 +227,16 @@ func main() {
                        os.Exit(1)
                }
        
       -        pledgestr := "stdio rpath cpath wpath dns"
                if config_addrtype == "unix" {
       -                pledgestr += " unix"
       +                err := Pledge("stdio rpath cpath wpath dns unix fattr", nil)
       +                if err != nil {
       +                        log.Fatalln(err)
       +                }
                } else {
       -                pledgestr += " inet"
       -        }
       -        if err := Pledge(pledgestr, nil); err != nil {
       -                log.Fatalln(err)
       +                err := Pledge("stdio rpath cpath wpath dns inet", nil)
       +                if err != nil {
       +                        log.Fatalln(err)
       +                }
                }
        
                // Remove previous UDS if it exists.
       @@ -254,6 +255,10 @@ func main() {
                        if err != nil {
                                log.Fatalln(err)
                        }
       +                err := Pledge("stdio rpath cpath wpath dns unix", nil)
       +                if err != nil {
       +                        log.Fatalln(err)
       +                }
                }
        
                if config_datadir != "" {
       @@ -296,14 +301,16 @@ func main() {
                        MaxHeaderBytes: 1 << 20,
                }
        
       -        pledgestr = "stdio rpath dns"
                if config_addrtype == "unix" {
       -                pledgestr += " unix"
       +                err := Pledge("stdio rpath dns unix", nil)
       +                if err != nil {
       +                        log.Fatalln(err)
       +                }
                } else {
       -                pledgestr += " inet"
       -        }
       -        if err := Pledge(pledgestr, nil); err != nil {
       -                log.Fatalln(err)
       +                err := Pledge("stdio rpath dns inet", nil)
       +                if err != nil {
       +                        log.Fatalln(err)
       +                }
                }
        
                s.Serve(l)