From 699bc47137ab78b7d88ec7623ad10e04f7b67f33 Mon Sep 17 00:00:00 2001
From: Alexandr Morozov <lk4d4math@gmail.com>
Date: Thu, 10 Jul 2014 13:19:18 +0400
Subject: [PATCH 1/5] Set state running before dumping to disk

Fixes #4766
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)

Conflicts:
	daemon/container.go

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: vieux)
---
 daemon/container.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/daemon/container.go b/daemon/container.go
index 5b41438680..41a2d390e0 100644
--- a/daemon/container.go
+++ b/daemon/container.go
@@ -1080,10 +1080,10 @@ func (container *Container) waitForStart() error {
 				c.Close()
 			}
 		}
+		container.State.SetRunning(command.Pid())
 		if err := container.ToDisk(); err != nil {
 			utils.Debugf("%s", err)
 		}
-		container.State.SetRunning(command.Pid())
 	}
 
 	// We use a callback here instead of a goroutine and an chan for

From 21341e9e134399feef88872f11fb4339401cf6f5 Mon Sep 17 00:00:00 2001
From: Tianon Gravi <admwiggin@gmail.com>
Date: Mon, 14 Jul 2014 12:34:04 -0600
Subject: [PATCH 2/5] Add a conditional to contrib/init/sysvinit-debian/docker
 for Dash vs Bash support

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)

Docker-DCO-1.1-Signed-off-by: Tianon Gravi <admwiggin@gmail.com> (github: vieux)
---
 contrib/init/sysvinit-debian/docker | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/contrib/init/sysvinit-debian/docker b/contrib/init/sysvinit-debian/docker
index 6250cae053..d79d9c6c07 100755
--- a/contrib/init/sysvinit-debian/docker
+++ b/contrib/init/sysvinit-debian/docker
@@ -89,7 +89,11 @@ case "$1" in
 		chgrp docker "$DOCKER_LOGFILE"
 
 		ulimit -n 1048576
-		ulimit -u 1048576
+		if [ "$BASH" ]; then
+			ulimit -u 1048576
+		else
+			ulimit -p 1048576
+		fi
 
 		log_begin_msg "Starting $DOCKER_DESC: $BASE"
 		start-stop-daemon --start --background \

From 2c185e25c22b82614210908c445a32fa3dbe5ed1 Mon Sep 17 00:00:00 2001
From: Michael Crosby <michael@docker.com>
Date: Mon, 21 Jul 2014 19:59:44 -0700
Subject: [PATCH 3/5] Always mark as stopped for non running containers
 Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github:
 crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
---
 daemon/daemon.go | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/daemon/daemon.go b/daemon/daemon.go
index 23402d9518..a94a4458ad 100644
--- a/daemon/daemon.go
+++ b/daemon/daemon.go
@@ -209,6 +209,7 @@ func (daemon *Daemon) register(container *Container, updateSuffixarray bool, con
 			}
 			daemon.execDriver.Terminate(cmd)
 		}
+
 		if err := container.Unmount(); err != nil {
 			utils.Debugf("unmount error %s", err)
 		}
@@ -219,21 +220,20 @@ func (daemon *Daemon) register(container *Container, updateSuffixarray bool, con
 		info := daemon.execDriver.Info(container.ID)
 		if !info.IsRunning() {
 			utils.Debugf("Container %s was supposed to be running but is not.", container.ID)
+
+			utils.Debugf("Marking as stopped")
+
+			container.State.SetStopped(-127)
+			if err := container.ToDisk(); err != nil {
+				return err
+			}
+
 			if daemon.config.AutoRestart {
 				utils.Debugf("Marking as restarting")
-				if err := container.Unmount(); err != nil {
-					utils.Debugf("restart unmount error %s", err)
-				}
 
 				if containersToStart != nil {
 					*containersToStart = append(*containersToStart, container)
 				}
-			} else {
-				utils.Debugf("Marking as stopped")
-				container.State.SetStopped(-127)
-				if err := container.ToDisk(); err != nil {
-					return err
-				}
 			}
 		}
 	}

From 4e12484ea12d23fd70fd3bf636e786f4f741ab64 Mon Sep 17 00:00:00 2001
From: Michael Crosby <michael@docker.com>
Date: Tue, 22 Jul 2014 00:16:26 -0700
Subject: [PATCH 4/5] Copy values out of hostConfig
 Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github:
 crosbymichael)

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@docker.com> (github: vieux)
---
 daemon/container.go | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/daemon/container.go b/daemon/container.go
index 41a2d390e0..30337de6b5 100644
--- a/daemon/container.go
+++ b/daemon/container.go
@@ -422,8 +422,17 @@ func (container *Container) allocateNetwork() error {
 	if container.Config.ExposedPorts != nil {
 		portSpecs = container.Config.ExposedPorts
 	}
+
 	if container.hostConfig.PortBindings != nil {
-		bindings = container.hostConfig.PortBindings
+		for p, b := range container.hostConfig.PortBindings {
+			bindings[p] = []nat.PortBinding{}
+			for _, bb := range b {
+				bindings[p] = append(bindings[p], nat.PortBinding{
+					HostIp:   bb.HostIp,
+					HostPort: bb.HostPort,
+				})
+			}
+		}
 	}
 
 	container.NetworkSettings.PortMapping = nil

From d84a070e476ce923dd03e28232564a87704613ab Mon Sep 17 00:00:00 2001
From: Victor Vieux <vieux@docker.com>
Date: Wed, 23 Jul 2014 00:29:56 +0000
Subject: [PATCH 5/5] Bump version to v1.1.2

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
---
 CHANGELOG.md | 9 +++++++++
 VERSION      | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 327a8a7e69..8ec9ce3df0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## 1.1.2 (2014-07-23)
+
+#### Runtime
++ Fix port allocation for existing containers
++ Fix containers restart on daemon restart
+
+#### Packaging
++ Fix /etc/init.d/docker issue on Debian
+
 ## 1.1.1 (2014-07-09)
 
 #### Builder
diff --git a/VERSION b/VERSION
index 524cb55242..45a1b3f445 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.1
+1.1.2