From 8b2bcd9a4bddf1b99ca201d81ac0a67c2b09fbe0 Mon Sep 17 00:00:00 2001
From: shin- <joffrey@dotcloud.com>
Date: Tue, 8 Apr 2014 16:53:16 +0200
Subject: [PATCH] Added specific error message when hitting 401 over HTTP on
 push Docker-DCO-1.1-Signed-off-by: Joffrey F <joffrey@docker.com> (github:
 shin-)

---
 registry/registry.go | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/registry/registry.go b/registry/registry.go
index 5ac04f9e7e..817c08afa9 100644
--- a/registry/registry.go
+++ b/registry/registry.go
@@ -417,6 +417,9 @@ func (r *Registry) PushImageJSONRegistry(imgData *ImgData, jsonRaw []byte, regis
 		return fmt.Errorf("Failed to upload metadata: %s", err)
 	}
 	defer res.Body.Close()
+	if res.StatusCode == 401 && strings.HasPrefix(registry, "http://") {
+		return utils.NewHTTPRequestError("HTTP code 401, Docker will not send auth headers over HTTP.", res)
+	}
 	if res.StatusCode != 200 {
 		errBody, err := ioutil.ReadAll(res.Body)
 		if err != nil {