зеркало из https://github.com/microsoft/docker.git
rewrite protocol check with switch-case in Server.Daemon
This commit is contained in:
Родитель
e3c49843d7
Коммит
7848007c3a
18
server.go
18
server.go
|
@ -6,10 +6,10 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"github.com/dotcloud/docker/auth"
|
||||
"github.com/dotcloud/docker/engine"
|
||||
"github.com/dotcloud/docker/gograph"
|
||||
"github.com/dotcloud/docker/registry"
|
||||
"github.com/dotcloud/docker/utils"
|
||||
"github.com/dotcloud/docker/engine"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
|
@ -17,14 +17,14 @@ import (
|
|||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
"os/signal"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
"syscall"
|
||||
"os/signal"
|
||||
"time"
|
||||
)
|
||||
|
||||
func (srv *Server) Close() error {
|
||||
|
@ -70,13 +70,16 @@ func (srv *Server) Daemon() error {
|
|||
chErrors := make(chan error, len(protoAddrs))
|
||||
for _, protoAddr := range protoAddrs {
|
||||
protoAddrParts := strings.SplitN(protoAddr, "://", 2)
|
||||
if protoAddrParts[0] == "unix" {
|
||||
syscall.Unlink(protoAddrParts[1])
|
||||
} else if protoAddrParts[0] == "tcp" {
|
||||
switch protoAddrParts[0] {
|
||||
case "unix":
|
||||
if err := syscall.Unlink(protoAddrParts[1]); err != nil && !os.IsNotExist(err) {
|
||||
log.Fatal(err)
|
||||
}
|
||||
case "tcp":
|
||||
if !strings.HasPrefix(protoAddrParts[1], "127.0.0.1") {
|
||||
log.Println("/!\\ DON'T BIND ON ANOTHER IP ADDRESS THAN 127.0.0.1 IF YOU DON'T KNOW WHAT YOU'RE DOING /!\\")
|
||||
}
|
||||
} else {
|
||||
default:
|
||||
return fmt.Errorf("Invalid protocol format.")
|
||||
}
|
||||
go func() {
|
||||
|
@ -92,7 +95,6 @@ func (srv *Server) Daemon() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
|
||||
func (srv *Server) DockerVersion() APIVersion {
|
||||
return APIVersion{
|
||||
Version: VERSION,
|
||||
|
|
Загрузка…
Ссылка в новой задаче