Changeset 38 in code for trunk/partage.go


Ignore:
Timestamp:
Oct 19, 2021, 6:09:49 PM (4 years ago)
Author:
dev
Message:

Provide ability to listen on unix sockets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/partage.go

    r37 r38  
    99        "io/ioutil"
    1010        "log"
     11        "net"
    1112        "net/http"
    1213        "os"
     
    287288
    288289func main() {
     290        var err error
    289291        var configfile string
     292        var listener net.Listener
    290293
    291294        /* default values */
     
    319322        }
    320323
     324        if conf.bind[0] == '/' {
     325                listener, err = net.Listen("unix", conf.bind)
     326                if err != nil {
     327                        log.Fatal(err)
     328                }
     329        } else {
     330                listener, err = net.Listen("tcp", conf.bind)
     331                if err != nil {
     332                        log.Fatal(err)
     333                }
     334        }
     335
    321336        if conf.user != "" {
    322337                if verbose {
     
    327342                        log.Fatal(err)
    328343                }
     344
     345                if listener.Addr().Network() == "unix" {
     346                        os.Chown(conf.bind, uid, gid)
     347                }
     348
    329349                syscall.Setuid(uid)
    330350                syscall.Setgid(gid)
     
    338358        }
    339359
    340         http.ListenAndServe(conf.bind, nil)
    341 }
     360        http.Serve(listener, nil)
     361}
Note: See TracChangeset for help on using the changeset viewer.