12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // +build daemon,!windows
- package main
- import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- apiserver "github.com/docker/docker/api/server"
- "github.com/docker/docker/daemon"
- "github.com/docker/docker/pkg/mflag"
- "github.com/docker/docker/pkg/system"
- _ "github.com/docker/docker/daemon/execdriver/native"
- )
- const defaultDaemonConfigFile = "/etc/docker/daemon.json"
- func setPlatformServerConfig(serverConfig *apiserver.Config, daemonCfg *daemon.Config) *apiserver.Config {
- serverConfig.EnableCors = daemonCfg.EnableCors
- serverConfig.CorsHeaders = daemonCfg.CorsHeaders
- return serverConfig
- }
- // currentUserIsOwner checks whether the current user is the owner of the given
- // file.
- func currentUserIsOwner(f string) bool {
- if fileInfo, err := system.Stat(f); err == nil && fileInfo != nil {
- if int(fileInfo.UID()) == os.Getuid() {
- return true
- }
- }
- return false
- }
- // setDefaultUmask sets the umask to 0022 to avoid problems
- // caused by custom umask
- func setDefaultUmask() error {
- desiredUmask := 0022
- syscall.Umask(desiredUmask)
- if umask := syscall.Umask(desiredUmask); umask != desiredUmask {
- return fmt.Errorf("failed to set umask: expected %#o, got %#o", desiredUmask, umask)
- }
- return nil
- }
- func getDaemonConfDir() string {
- return "/etc/docker"
- }
- // setupConfigReloadTrap configures the USR2 signal to reload the configuration.
- func setupConfigReloadTrap(configFile string, flags *mflag.FlagSet, reload func(*daemon.Config)) {
- c := make(chan os.Signal, 1)
- signal.Notify(c, syscall.SIGHUP)
- go func() {
- for range c {
- daemon.ReloadConfiguration(configFile, flags, reload)
- }
- }()
- }
|