From 7b0646760cc54c77c8394d0d8879c98310684835 Mon Sep 17 00:00:00 2001 From: Daniel Jiang Date: Fri, 12 May 2017 06:12:36 -0400 Subject: [PATCH 1/2] Fail authentication when username is empty (#2300) --- src/ui/auth/ldap/ldap.go | 4 ++++ src/ui/auth/ldap/ldap_test.go | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/ui/auth/ldap/ldap.go b/src/ui/auth/ldap/ldap.go index 235013c3d..6b8942176 100644 --- a/src/ui/auth/ldap/ldap.go +++ b/src/ui/auth/ldap/ldap.go @@ -36,6 +36,10 @@ const metaChars = "&|!=~*<>()" func (l *Auth) Authenticate(m models.AuthModel) (*models.User, error) { p := m.Principal + if len(strings.TrimSpace(p)) == 0 { + log.Debugf("LDAP authentication failed for empty user id.") + return nil, nil + } for _, c := range metaChars { if strings.ContainsRune(p, c) { return nil, fmt.Errorf("the principal contains meta char: %q", c) diff --git a/src/ui/auth/ldap/ldap_test.go b/src/ui/auth/ldap/ldap_test.go index e979c9d11..6563f4f68 100644 --- a/src/ui/auth/ldap/ldap_test.go +++ b/src/ui/auth/ldap/ldap_test.go @@ -131,4 +131,13 @@ func TestAuthenticate(t *testing.T) { if user != nil { t.Errorf("Nil user expected for wrong password") } + person.Principal = "" + person.Password = "" + user, err = auth.Authenticate(person) + if err != nil { + t.Errorf("unexpected ldap error: %v", err) + } + if user != nil { + t.Errorf("Nil user for empty credentials") + } } From 0b022310936582dd220a3925e003b867bef2f179 Mon Sep 17 00:00:00 2001 From: Daniel Jiang Date: Fri, 19 May 2017 00:19:27 -0700 Subject: [PATCH 2/2] Update registry img (#2330) * update the registry image * update other yml files and docs to reflect image update --- Makefile | 2 +- docs/user_guide.md | 4 ++-- make/dev/docker-compose.yml | 2 +- make/docker-compose.tpl | 2 +- tests/docker-compose.test.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index e2fbce379..c234532d9 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ REGISTRYSERVER= REGISTRYPROJECTNAME=vmware DEVFLAG=true NOTARYFLAG=false -REGISTRYVERSION=photon-2.6.0 +REGISTRYVERSION=2.6.1-photon NGINXVERSION=1.11.5-patched PHOTONVERSION=1.0 NOTARYVERSION=server-0.5.0 diff --git a/docs/user_guide.md b/docs/user_guide.md index e45bca95e..287fc6c44 100644 --- a/docs/user_guide.md +++ b/docs/user_guide.md @@ -220,7 +220,7 @@ Run the below commands on the host which Harbor is deployed on to preview what f ```sh $ docker-compose stop -$ docker run -it --name gc --rm --volumes-from registry vmware/registry:photon-2.6.0 garbage-collect --dry-run /etc/registry/config.yml +$ docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.1-photon garbage-collect --dry-run /etc/registry/config.yml ``` **NOTE:** The above option "--dry-run" will print the progress without removing any data. @@ -229,7 +229,7 @@ Verify the result of the above test, then use the below commands to perform garb ```sh -$ docker run -it --name gc --rm --volumes-from registry vmware/registry:photon-2.6.0 garbage-collect /etc/registry/config.yml +$ docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.1-photon garbage-collect /etc/registry/config.yml $ docker-compose start ``` diff --git a/make/dev/docker-compose.yml b/make/dev/docker-compose.yml index 3b1b80906..6f54d5757 100644 --- a/make/dev/docker-compose.yml +++ b/make/dev/docker-compose.yml @@ -13,7 +13,7 @@ services: networks: - harbor registry: - image: vmware/registry:photon-2.6.0 + image: vmware/registry:2.6.1-photon container_name: registry restart: always volumes: diff --git a/make/docker-compose.tpl b/make/docker-compose.tpl index bf59cd84c..22eba44f7 100644 --- a/make/docker-compose.tpl +++ b/make/docker-compose.tpl @@ -11,7 +11,7 @@ services: networks: - harbor registry: - image: vmware/registry:photon-2.6.0 + image: vmware/registry:2.6.1-photon container_name: registry restart: always volumes: diff --git a/tests/docker-compose.test.yml b/tests/docker-compose.test.yml index 253d63014..cf5c3c6dc 100644 --- a/tests/docker-compose.test.yml +++ b/tests/docker-compose.test.yml @@ -1,7 +1,7 @@ version: '2' services: registry: - image: library/registry:2.6.0 + image: vmware/registry:2.6.1-photon restart: always volumes: - /data/registry:/storage