|
@@ -16,7 +16,6 @@ import (
|
|
"os"
|
|
"os"
|
|
"strconv"
|
|
"strconv"
|
|
"strings"
|
|
"strings"
|
|
- "syscall"
|
|
|
|
|
|
|
|
"crypto/tls"
|
|
"crypto/tls"
|
|
"crypto/x509"
|
|
"crypto/x509"
|
|
@@ -1513,31 +1512,6 @@ func setSocketGroup(addr, group string) error {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func setupUnixHttp(addr string, job *engine.Job) (*HttpServer, error) {
|
|
|
|
- r := createRouter(job.Eng, job.GetenvBool("Logging"), job.GetenvBool("EnableCors"), job.Getenv("Version"))
|
|
|
|
-
|
|
|
|
- if err := syscall.Unlink(addr); err != nil && !os.IsNotExist(err) {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
- mask := syscall.Umask(0777)
|
|
|
|
- defer syscall.Umask(mask)
|
|
|
|
-
|
|
|
|
- l, err := newListener("unix", addr, job.GetenvBool("BufferRequests"))
|
|
|
|
- if err != nil {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if err := setSocketGroup(addr, job.Getenv("SocketGroup")); err != nil {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if err := os.Chmod(addr, 0660); err != nil {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return &HttpServer{&http.Server{Addr: addr, Handler: r}, l}, nil
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
func allocateDaemonPort(addr string) error {
|
|
func allocateDaemonPort(addr string) error {
|
|
host, port, err := net.SplitHostPort(addr)
|
|
host, port, err := net.SplitHostPort(addr)
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -1593,21 +1567,6 @@ func setupTcpHttp(addr string, job *engine.Job) (*HttpServer, error) {
|
|
return &HttpServer{&http.Server{Addr: addr, Handler: r}, l}, nil
|
|
return &HttpServer{&http.Server{Addr: addr, Handler: r}, l}, nil
|
|
}
|
|
}
|
|
|
|
|
|
-// NewServer sets up the required Server and does protocol specific checking.
|
|
|
|
-func NewServer(proto, addr string, job *engine.Job) (Server, error) {
|
|
|
|
- // Basic error and sanity checking
|
|
|
|
- switch proto {
|
|
|
|
- case "fd":
|
|
|
|
- return nil, serveFd(addr, job)
|
|
|
|
- case "tcp":
|
|
|
|
- return setupTcpHttp(addr, job)
|
|
|
|
- case "unix":
|
|
|
|
- return setupUnixHttp(addr, job)
|
|
|
|
- default:
|
|
|
|
- return nil, fmt.Errorf("Invalid protocol format.")
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
type Server interface {
|
|
type Server interface {
|
|
Serve() error
|
|
Serve() error
|
|
Close() error
|
|
Close() error
|