Merge pull request #1892 from dotcloud/fix-maintainers-files

Add MAINTAINERS
diff --git a/api.go b/api.go
index 3a2aadc..f984b1c 100644
--- a/api.go
+++ b/api.go
@@ -510,7 +510,7 @@
 		return err
 	}
 
-	if len(config.Dns) == 0 && len(srv.runtime.Dns) == 0 && utils.CheckLocalDns(resolvConf) {
+	if !config.NetworkDisabled && len(config.Dns) == 0 && len(srv.runtime.Dns) == 0 && utils.CheckLocalDns(resolvConf) {
 		out.Warnings = append(out.Warnings, fmt.Sprintf("Docker detected local DNS server on resolv.conf. Using default external servers: %v", defaultDns))
 		config.Dns = defaultDns
 	}
@@ -530,7 +530,7 @@
 		out.Warnings = append(out.Warnings, "Your kernel does not support memory swap capabilities. Limitation discarded.")
 	}
 
-	if srv.runtime.capabilities.IPv4ForwardingDisabled {
+	if !config.NetworkDisabled && srv.runtime.capabilities.IPv4ForwardingDisabled {
 		log.Println("Warning: IPv4 forwarding is disabled.")
 		out.Warnings = append(out.Warnings, "IPv4 forwarding is disabled.")
 	}
@@ -602,11 +602,11 @@
 }
 
 func postContainersStart(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
-	hostConfig := &HostConfig{}
-
+	var hostConfig *HostConfig
 	// allow a nil body for backwards compatibility
 	if r.Body != nil {
 		if matchesContentType(r.Header.Get("Content-Type"), "application/json") {
+			hostConfig = &HostConfig{}
 			if err := json.NewDecoder(r.Body).Decode(hostConfig); err != nil {
 				return err
 			}
diff --git a/container.go b/container.go
index dcd4f44..4ea44f2 100644
--- a/container.go
+++ b/container.go
@@ -564,7 +564,7 @@
 	container.State.Lock()
 	defer container.State.Unlock()
 
-	if len(hostConfig.Binds) == 0 && len(hostConfig.LxcConf) == 0 {
+	if hostConfig == nil { // in docker start of docker restart we want to reuse previous HostConfigFile
 		hostConfig, _ = container.ReadHostConfig()
 	}
 
diff --git a/lxc_template.go b/lxc_template.go
index 7013581..b34ff85 100644
--- a/lxc_template.go
+++ b/lxc_template.go
@@ -30,9 +30,11 @@
 {{$ROOTFS := .RootfsPath}}
 lxc.rootfs = {{$ROOTFS}}
 
+{{if and .HostnamePath .HostsPath}}
 # enable domain name support
 lxc.mount.entry = {{.HostnamePath}} {{$ROOTFS}}/etc/hostname none bind,ro 0 0
 lxc.mount.entry = {{.HostsPath}} {{$ROOTFS}}/etc/hosts none bind,ro 0 0
+{{end}}
 
 # use a dedicated pts for the container (and limit the number of pseudo terminal
 # available)