package main import ( "fmt" "net" "net/http" "os" "git.giftfish.de/ston1th/godrop" ) func main() { cfg := godrop.Config{ User: "nobody", Group: "nobody", } err := godrop.Drop(cfg, func() (net.Listener, error) { return net.Listen("tcp", ":80") }) if err != nil { fmt.Println(err) } l, err := godrop.GetListener() if err != nil { fmt.Println("Failed to listen on FD 3:", err) os.Exit(1) } _, port, _ := net.SplitHostPort(l.Addr().String()) http.Serve(l, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "port %s\npid %d\nuid %d\ngid %d", port, os.Getpid(), os.Getuid(), os.Getgid()) })) }