public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-auth/docker_auth/, sys-auth/docker_auth/files/
@ 2017-07-16 13:15 Manuel Rüger
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Rüger @ 2017-07-16 13:15 UTC (permalink / raw
  To: gentoo-commits

commit:     15ba64574f1bc3e00334c945ca49092eaa07276a
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 13:14:16 2017 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Sun Jul 16 13:15:13 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15ba6457

sys-auth/docker_auth: Update snapshot

Package-Manager: Portage-2.3.6, Repoman-2.3.2

 sys-auth/docker_auth/Manifest                      |   5 +
 .../docker_auth/docker_auth-1.2.1_p20170711.ebuild |  77 +++++
 .../files/docker_auth-ldap-group-support.patch     | 363 +++++++++++++++++++++
 3 files changed, 445 insertions(+)

diff --git a/sys-auth/docker_auth/Manifest b/sys-auth/docker_auth/Manifest
index b392b14246d..f5f2b7db1bd 100644
--- a/sys-auth/docker_auth/Manifest
+++ b/sys-auth/docker_auth/Manifest
@@ -1,8 +1,11 @@
 DIST docker_auth-1.2.1.tar.gz 40378 SHA256 8134310d34a2cb8dc1b2b843e8617eba508659133453b272d66459dc251a91f2 SHA512 07fb139ccf8bd0e39541144bc320985f9865d1d710c8b5c5941d0ff6f6a9381d454522eadd44af9162e8d4b98b6c69926067b9439363e5ab104e67c1ae41f2b5 WHIRLPOOL 2b1c5a9e9120694641ae019c244ce097abb9f51fb34a25b2ee486674bc19dee1e24d26f5a8a922ad741971b4f60b13751b34565056603dd9b11095eac60bcd8b
+DIST docker_auth-1.2.1_p20170711.tar.gz 40378 SHA256 8134310d34a2cb8dc1b2b843e8617eba508659133453b272d66459dc251a91f2 SHA512 07fb139ccf8bd0e39541144bc320985f9865d1d710c8b5c5941d0ff6f6a9381d454522eadd44af9162e8d4b98b6c69926067b9439363e5ab104e67c1ae41f2b5 WHIRLPOOL 2b1c5a9e9120694641ae019c244ce097abb9f51fb34a25b2ee486674bc19dee1e24d26f5a8a922ad741971b4f60b13751b34565056603dd9b11095eac60bcd8b
 DIST github.com-cesanta-glog-22eb27a0ae192b290b25537b8e876556fc25129c.tar.gz 20273 SHA256 9960f3d916d6dba8e745cccc6fdef3982f57b6034321cb29d2df8c7ddb2d41d0 SHA512 3c4b757fc0d0e45382b1ef0180eea2f0429e8c7ecac0089fca79bc717f6c0a04918b91a144ca78331178cc914b808b40596c6a6e214157d2f812858be31c13d6 WHIRLPOOL f4d4abff55e1704d53efb52072405199e6d10b72aaf4abe5b9fe0b2255014da311f3f5d95ba69d1e4faed74511d0641658562eb46ae6279a417b4ac40dc92971
 DIST github.com-dchest-uniuri-8902c56451e9b58ff940bbe5fec35d5f9c04584a.tar.gz 2471 SHA256 f0e76f66c27b485fb8fd76ed0da635bf34751714487a16931f07bf1b1986b30f SHA512 70421b526e3040a49e63be6c892de2953b4f9ecdb01b148eb2bab3814f610a8c39bd98aad858cbaf9dcf621b52ee9ef952f0cdcdc6eca77da8ebf80dbbf1c04c WHIRLPOOL 63b97e4c3aa3b0275d3e2cd8f4fcdc523da62abba89b177c4f2a228bd7237fe719804e24616c082a41a2fef421ec3ed86be399cc207265675931a1e4cb73e050
+DIST github.com-deckarep-golang-set-3a36ffa8b5bf7cd329c8834c6b743d6930dad12f.tar.gz 12556 SHA256 0a40212b47dab5aef266a4af14c84e96c3ed8a16eb6920168091192ed6f0cd33 SHA512 99403278805067a6f4d831f664e58b6bea510f2b51db3c1335f4b09a1dbb3b0ef886d7150faf48c7fba1f1c29f17f335b6a8af4b35e3dfe8be07daa8510adfe8 WHIRLPOOL 9326c0f9c1a0d72db28bb6678bd5d1ba0dc18979e1b67d9034890f5aea0440de7f65d054226cbd1234a8ac572ac832bc03e6fa221ec830a134b1b5e7f5a50d86
 DIST github.com-deckarep-golang-set-da5f92821c31f5f1e2fe1a768c8b6052278532f2.tar.gz 11803 SHA256 13769b15f251990919c888fa63d08b901c4609a691833ae902fd2c8f71368ea9 SHA512 725882a828be7a76b403c40b818da91039c9654a27e1b1f25219ed382cfc36cafb0c03e651a4f5ea80e90de4bf0fdb58d826dfc2b3d2c28a40882f7d0064ee45 WHIRLPOOL a1326a564d0ea98397672b4567cf73cc756fe8aa7447544bfdb5aef1ac13890a876253a19bdd1617fce628710d89f701c028b347dd734f06a722344eaee1dfa7
 DIST github.com-docker-distribution-a40abc69f2ecea20dd7944537a119c2ce2b3f957.tar.gz 1744995 SHA256 64ce52b56f3d088d621db6dcbfbae95cee124a53175029286a1cb420bc5ec9f0 SHA512 223d36f74d35257c6e916c4b05e5f81efb3ffdfa0c01077307926e2cfa66e26e897ec718e00599a71c83e53c17726646476017a3d6a403c2ac797e7f29b0e7a2 WHIRLPOOL fc7d84f4b6e28f39489f8e49addd11babb073332ba1b047c5c040249093f62cff2494b67b0ae8a45c7154480d1fbf8418a058adea568832398009896fba3e104
+DIST github.com-docker-distribution-f86db6b22663a27ba4d278220b7e34be528b1e79.tar.gz 1754936 SHA256 ac7440fe991fa0d0616df3d9fb0a3d21be51d891041596e5f037bc0e979a1d60 SHA512 448d991bd9ac90185c65e06f3fbd5e2859f3fe7111d06dd56ecd6abc8a74374f031950d32dee130ab2aceddbd6d39b2f978a25b6879b05f0814521b676b49b2a WHIRLPOOL 5fcf75423b43393737ef15c923aca29f3ec7ac6165511c4ec6c6d9c5fbc6cc2d3b9ce6fba8f111902a685b34bec5cfa2387b7676eb330eaf6ef9aa4beb56c474
 DIST github.com-docker-libtrust-aabc10ec26b754e797f9028f4589c5b7bd90dc20.tar.gz 39352 SHA256 a3cb5fd53b4eb0ef259f039d0d10e237c8fff86993f9335959cf233956f0c065 SHA512 31d5a613807764c03d3356ee134bf384eca7953d4113e35d8fcce322611c25b444dd07904eb34c86c7e951529040c33fa821a56a687260e9298f900c7907e83b WHIRLPOOL 0b1cd73ba1ca2858324d6bc7f862bb794480d908250b8e05b3b28ff06837420e3b71107d040d3dfdda031cbcb72d0d0a3e934406a06d0e21c9a69708363b8f92
 DIST github.com-facebookgo-clock-600d898af40aa09a7a93ecb9265d87b0504b6f03.tar.gz 6382 SHA256 363140ddedf035ef012e0b17a35d32210f51b7f160c3fb0e89d08aa83d1870e0 SHA512 023741d93573d53471d1ec10a47c2a0034ecd0e0db35440b50bc7085ddd94e9cd5d0388586a25b060b50a1b9e442d4974a931b3f5d14aa1710629f19ad4acf8f WHIRLPOOL 2dd3fce28c58fb16998449d47433b3e0f726ef74323b116d60c4cfffeb9dac57320602883ab1b620b4ae9099e88f398dc34463f389008e8cfeff457db9b22c5d
 DIST github.com-facebookgo-httpdown-a3b1354551a26449fbe05f5d855937f6e7acbd71.tar.gz 9729 SHA256 c34330738c168a17a7720bd32fb00311005bd8c0d6bb5d6690bb2e73a81386ca SHA512 1958e337e1fd896227dd4a2eb551ffe92ffe12a25acdc422ad14c6234eb5e080a6f537f73175c2246768978803edf5fd9425925880546746e996e51a232bc7bd WHIRLPOOL 2234ea870430e3e35771550add39542f84522f656193f14b794dedca0a4c3a537513d8a6b686265e814d528e3c9139fc125f3584531a24bc3862f724e36b43ce
@@ -10,7 +13,9 @@ DIST github.com-facebookgo-stats-1b76add642e42c6ffba7211ad7b3939ce654526e.tar.gz
 DIST github.com-fsnotify-fsnotify-4da3e2cfbabc9f751898f250b49f2439785783a1.tar.gz 30624 SHA256 782e83c5384cb2e233b947ffba27c8d067f23fadf38b86f6df779c144425cc36 SHA512 cff467ffbed22edf4cde7a52e0f0d7a5b4a06446a6140ad7fa018dfcce3b400342223d888a0389042d2e6fd7abe261d0e515adc6e4c03a74e3cf074e88af17ab WHIRLPOOL e6cadc7272518d2ecd03e9b208b12500fe6b5bea6c490a22133b8021bd2befc77cce104d29c2ceb01f0b18e0f2eef44321fe61427c2834bc09ced956526c6f36
 DIST github.com-go-asn1-ber-asn1-ber-b144e4fe15d4968eb8d6e33d70761727d124814e.tar.gz 12224 SHA256 a8eb53081c4b6a2be08ea5a2bb26e2203899f4e00a694beba39cd71517172df1 SHA512 9fe072dfe167c7d51d838e1e0b4751c158e2b340409fb51a5d311ed6fb66b18c2daf27364c67bfc58faa4338206c706cbd13e1d022c6a7a08a2adf0a9fc9e6a6 WHIRLPOOL 80f6d89b810ff38c345ab64829c2311f7d82fc69608ba06fecad87fd412f3e1fc272d03e19d942b67e571fb2a39754e3505849693e5ee56932cfc4f38f4b96ac
 DIST github.com-go-ldap-ldap-13cedcf58a1ea124045dea529a66c849d3444c8e.tar.gz 36378 SHA256 624fa69738c3b768fc39fe68dfc84aee19ec969340396e85ca70ab717d1285d2 SHA512 3d4265b36e77b77357dd4f3f757bcdcb2dd4fc677ec83a33ee125d48ca19431075b0ab8087a4cb7d0a5027b1c2ea6ca516003c81b4d7df55de9c54ec6dc248fa WHIRLPOOL 448cb863e7888dc509e9b7d530b79f65fdd084b1f8c3673deb69fedeaf24e785786d0c7bb0b02816c62bd8b2faa85b7026701aa5de74c241b1fe889909d0b216
+DIST github.com-go-ldap-ldap-37f35d7ffc6b8219cc62f5e182e258d143be670b.tar.gz 36443 SHA256 255a6d7180fd4a2ce0ad39af8a3e178cdf4b776c1516ecd1f6f22a4e7af7ffcb SHA512 c8a8c877f03bf4f246aeb1f7c2f17c5a848db970b46a93675263fb9f18ad50e56802fdf3d734185aed9c5f10de0366c906161607ce281a74c316fb57769fb970 WHIRLPOOL 095cd2ca3c745acd6b2b6e3e85fd40b3b6b98dbebf70260c8063e2c275ec40e76f24c1e30cf35105f93da52286c30cb161da39656e400a9f7943774af09f8211
 DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 SHA256 6c97700204a9078a08bb0e67e8519c5f3a8c892b0401244a17bc2c0838410b9f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845 WHIRLPOOL b95f88c8c023434b058426d8c8e5e230a1a4b6ba2bd701a0a078bfd774f861fcbff24fd08af6ed067fd3ea168854eec8c15708baf5275cb5c1e9ccce61d738c6
+DIST github.com-go-yaml-yaml-3b4ad1db5b2a649883ff3782f5f9f6fb52be71af.tar.gz 61016 SHA256 e986d71ee8566b97b1eebf34b6c6250e816253ac93d66778b3d75af56f7cfd9d SHA512 fe23b0d3df64b5e831c936ce7726555ab204d2896f362de9e201c59d128bcc09c852d664bdb66f881f89a7183eca5dd815312951a87ea92cca5be7e64362957d WHIRLPOOL d71b7649d502ceb6a9163e2dbd99d38f40297bab401b392808d259886f8bf8d2bc5637eec9b8dfb48561839fb0e8223292f3769f85c6b3390a976ad4304fcf54
 DIST github.com-go-yaml-yaml-cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b.tar.gz 60805 SHA256 11a6ce686bb70ab92020f2dffadc2e024e267a6564a62b0091e2974474c7f88d SHA512 268498022f34c4b59b5b75443ee10fd4273203f4b77bfa11b08a792c004cf13e3010c34b4c15cee2b4e7f3c910648d9897700f60ab00b327d78c49e97497fe2b WHIRLPOOL b2d18dc7354fa6e4819c2b1437e3dce55212fbf6e907361b82bfefc0b2306f12cbf70560c3819e2a81426e538949f05be01c6b8b3f3e53a3aa6daf828e95d537
 DIST github.com-golang-crypto-5a033cc77e57eca05bdb50522851d29e03569cbe.tar.gz 1333656 SHA256 e1d4738690414c7b30df144586212b1fda58e8a882d1f75b01f48c3261d31701 SHA512 2d063f8319cb41f0f0c1f46fd4086c901f6a02833dc3110c46d2e6098b90f1a2f626bccc5aba6fbbafca2f4e31c20a9ae5c4f3f95a268abf82cbc490d1be70af WHIRLPOOL 313c6daeb98083fb6072432948e89d927fb3c9c73d95bbde9ef2afa19200526b887e724c97a2fdfdd45eb56ff114322d83417763ce7a31797d009cb1fd62312a
 DIST github.com-golang-snappy-553a641470496b2327abcac10b36396bd98e45c9.tar.gz 62076 SHA256 2ddf0f394a8b5a83942ac351cff5c04f936e6bd6e6cecc73ce6145b9bfd4c6e7 SHA512 a324c8a7687e820f6b322930a054d1e7fc4c37bb66a95d473ef2a67fed703de90e8cc3072273ad2f9c681b1cf7ec1acc0ee9dc735ab593e23eea5cde96eea8a6 WHIRLPOOL cd942c31b7b6d084190030383c0342fbb64baada50f93f07d0cb36c412515f3f528301336d6b0f310b34181acc1f2532bad2b6eddfca245ae0d02e1cffee0656

diff --git a/sys-auth/docker_auth/docker_auth-1.2.1_p20170711.ebuild b/sys-auth/docker_auth/docker_auth-1.2.1_p20170711.ebuild
new file mode 100644
index 00000000000..410f72d2af5
--- /dev/null
+++ b/sys-auth/docker_auth/docker_auth-1.2.1_p20170711.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGO_PN="github.com/cesanta/docker_auth"
+
+EGO_VENDOR=(
+	"github.com/dchest/uniuri 8902c56451e9b58ff940bbe5fec35d5f9c04584a"
+	"github.com/deckarep/golang-set 3a36ffa8b5bf7cd329c8834c6b743d6930dad12f"
+	"github.com/docker/distribution f86db6b22663a27ba4d278220b7e34be528b1e79"
+	"github.com/docker/libtrust aabc10ec26b754e797f9028f4589c5b7bd90dc20"
+	"github.com/facebookgo/httpdown a3b1354551a26449fbe05f5d855937f6e7acbd71"
+	"github.com/facebookgo/clock 600d898af40aa09a7a93ecb9265d87b0504b6f03"
+	"github.com/facebookgo/stats 1b76add642e42c6ffba7211ad7b3939ce654526e"
+	"github.com/go-ldap/ldap 37f35d7ffc6b8219cc62f5e182e258d143be670b"
+	"github.com/cesanta/glog 22eb27a0ae192b290b25537b8e876556fc25129c"
+	"github.com/syndtr/goleveldb 8c81ea47d4c41a385645e133e15510fc6a2a74b4"
+	"github.com/golang/snappy 553a641470496b2327abcac10b36396bd98e45c9"
+	"gopkg.in/asn1-ber.v1 b144e4fe15d4968eb8d6e33d70761727d124814e github.com/go-asn1-ber/asn1-ber"
+	"gopkg.in/fsnotify.v1 4da3e2cfbabc9f751898f250b49f2439785783a1 github.com/fsnotify/fsnotify"
+	"gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo"
+	"gopkg.in/yaml.v2 3b4ad1db5b2a649883ff3782f5f9f6fb52be71af github.com/go-yaml/yaml"
+	"golang.org/x/crypto 5a033cc77e57eca05bdb50522851d29e03569cbe github.com/golang/crypto"
+	"golang.org/x/sys 9ccfe848b9db8435a24c424abbc07a921adf1df5 github.com/golang/sys"
+	)
+
+inherit user golang-build golang-vcs-snapshot
+EGIT_COMMIT="d76a69c31cdef1ea1c21b0c675aaeaef6d87594f"
+SHORT_COMMIT=${EGIT_COMMIT:0:7}
+SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
+	${EGO_VENDOR_URI}"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Docker Registry 2 authentication server"
+HOMEPAGE="http://github.com/cesanta/docker_auth"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RESTRICT="test"
+
+pkg_setup() {
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+	default
+	pushd src/${EGO_PN}
+	eapply "${FILESDIR}/${PN}-ldap-group-support.patch"
+	cp "${FILESDIR}/version.go" auth_server/version.go || die
+	sed -i -e "s/{version}/${PV}/" -e "s/{build_id}/${SHORT_COMMIT}/" auth_server/version.go || die
+	popd || die
+}
+
+src_compile() {
+	pushd src/${EGO_PN}/auth_server || die
+	GOPATH="${WORKDIR}/${P}" go build -o "bin/auth_server" || die
+	popd || die
+}
+
+src_install() {
+	pushd src/${EGO_PN} || die
+	dodoc README.md docs/Backend_MongoDB.md
+	insinto /usr/share/${PF}
+	doins -r examples
+	insinto /etc/docker_auth/
+	newins examples/reference.yml config.yml.example
+	dobin auth_server/bin/auth_server
+	popd || die
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}.confd ${PN}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}"/${PN}.logrotated ${PN}
+	keepdir /var/log/docker_auth
+}

diff --git a/sys-auth/docker_auth/files/docker_auth-ldap-group-support.patch b/sys-auth/docker_auth/files/docker_auth-ldap-group-support.patch
new file mode 100644
index 00000000000..69858872f49
--- /dev/null
+++ b/sys-auth/docker_auth/files/docker_auth-ldap-group-support.patch
@@ -0,0 +1,363 @@
+From 4a33badac6b74617dfe3797a716a6907cf018b27 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Mon, 27 Feb 2017 19:09:52 +1300
+Subject: [PATCH 1/3] Initial proof of concept mapping memberOf CN to the label
+ groups #63
+
+---
+ auth_server/authn/ldap_auth.go | 73 ++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 60 insertions(+), 13 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index f8fc08f..42f5ad0 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -17,7 +17,6 @@
+ package authn
+ 
+ import (
+-	"bytes"
+ 	"crypto/tls"
+ 	"fmt"
+ 	"io/ioutil"
+@@ -71,10 +70,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 	account = la.escapeAccountInput(account)
+ 
+ 	filter := la.getFilter(account)
+-	accountEntryDN, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &[]string{})
++
++	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
++	groupAttribute := "memberOf"
++	dnAndGroupAttr := []string{"DN", groupAttribute}
++
++	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
+ 	if uSearchErr != nil {
+ 		return false, nil, uSearchErr
+ 	}
++	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
++		return false, nil, NoMatch // User does not exist
++	}
++
++	accountEntryDN := entryAttrMap["DN"][0]
+ 	if accountEntryDN == "" {
+ 		return false, nil, NoMatch // User does not exist
+ 	}
+@@ -93,6 +102,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 		return false, nil, bindErr
+ 	}
+ 
++	// Extract group names from the attribute values
++	if entryAttrMap[groupAttribute] != nil {
++		rawGroups := entryAttrMap[groupAttribute]
++		labels := make(map[string][]string)
++		var groups []string
++		for _, value := range rawGroups {
++			cn := la.getCNFromDN(value)
++			groups = append(groups, cn)
++		}
++		labels["groups"] = groups
++
++		return true, labels, nil
++	}
++
+ 	return true, nil, nil
+ }
+ 
+@@ -170,9 +193,9 @@ func (la *LDAPAuth) getFilter(account string) string {
+ 
+ //ldap search and return required attributes' value from searched entries
+ //default return entry's DN value if you leave attrs array empty
+-func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, error) {
++func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
+ 	if l == nil {
+-		return "", fmt.Errorf("No ldap connection!")
++		return nil, fmt.Errorf("No ldap connection!")
+ 	}
+ 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
+ 	searchRequest := ldap.NewSearchRequest(
+@@ -183,30 +206,54 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
+ 		nil)
+ 	sr, err := l.Search(searchRequest)
+ 	if err != nil {
+-		return "", err
++		return nil, err
+ 	}
+ 
+ 	if len(sr.Entries) == 0 {
+-		return "", nil // User does not exist
++		return nil, nil // User does not exist
+ 	} else if len(sr.Entries) > 1 {
+-		return "", fmt.Errorf("Too many entries returned.")
++		return nil, fmt.Errorf("Too many entries returned.")
+ 	}
+ 
+-	var buffer bytes.Buffer
++	result := make(map[string][]string)
+ 	for _, entry := range sr.Entries {
++
+ 		if len(*attrs) == 0 {
+ 			glog.V(2).Infof("Entry DN = %s", entry.DN)
+-			buffer.WriteString(entry.DN)
++			result["DN"] = []string{entry.DN}
+ 		} else {
+ 			for _, attr := range *attrs {
+-				values := strings.Join(entry.GetAttributeValues(attr), " ")
+-				glog.V(2).Infof("Entry %s = %s", attr, values)
+-				buffer.WriteString(values)
++				var values []string
++				if attr == "DN" {
++					// DN is excluded from attributes
++					values = []string{entry.DN}
++				} else {
++					values = entry.GetAttributeValues(attr)
++				}
++				valuesString := strings.Join(values, "\n")
++				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
++				result[attr] = values
++			}
++		}
++	}
++
++	return result, nil
++}
++
++func (la *LDAPAuth) getCNFromDN(dn string) string {
++	parsedDN, err := ldap.ParseDN(dn)
++	if err != nil || len(parsedDN.RDNs) > 0 {
++		for _, rdn := range parsedDN.RDNs {
++			for _, rdnAttr := range rdn.Attributes {
++				if rdnAttr.Type == "CN" {
++					return rdnAttr.Value
++				}
+ 			}
+ 		}
+ 	}
+ 
+-	return buffer.String(), nil
++	// else try using raw DN
++	return dn
+ }
+ 
+ func (la *LDAPAuth) Stop() {
+
+From ddde2fa779e746d7e74cd972a4c6795c72f17ee6 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Tue, 28 Feb 2017 18:09:55 +1300
+Subject: [PATCH 2/3] Apply attribute mapping from configuration
+
+---
+ auth_server/authn/ldap_auth.go | 125 ++++++++++++++++++++++++-----------------
+ 1 file changed, 74 insertions(+), 51 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index 42f5ad0..6f733a2 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -26,16 +26,22 @@ import (
+ 	"github.com/golang/glog"
+ )
+ 
++type LabelMap struct {
++	Attribute string `yaml:"attribute,omitempty"`
++	ParseCN   bool   `yaml:"parse_cn,omitempty"`
++}
++
+ type LDAPAuthConfig struct {
+-	Addr                  string `yaml:"addr,omitempty"`
+-	TLS                   string `yaml:"tls,omitempty"`
+-	InsecureTLSSkipVerify bool   `yaml:"insecure_tls_skip_verify,omitempty"`
+-	Base                  string `yaml:"base,omitempty"`
+-	Filter                string `yaml:"filter,omitempty"`
+-	BindDN                string `yaml:"bind_dn,omitempty"`
+-	BindPasswordFile      string `yaml:"bind_password_file,omitempty"`
+-	GroupBaseDN           string `yaml:"group_base_dn,omitempty"`
+-	GroupFilter           string `yaml:"group_filter,omitempty"`
++	Addr                  string              `yaml:"addr,omitempty"`
++	TLS                   string              `yaml:"tls,omitempty"`
++	InsecureTLSSkipVerify bool                `yaml:"insecure_tls_skip_verify,omitempty"`
++	Base                  string              `yaml:"base,omitempty"`
++	Filter                string              `yaml:"filter,omitempty"`
++	BindDN                string              `yaml:"bind_dn,omitempty"`
++	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
++	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
++	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
++	GroupFilter           string              `yaml:"group_filter,omitempty"`
+ }
+ 
+ type LDAPAuth struct {
+@@ -71,22 +77,19 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 
+ 	filter := la.getFilter(account)
+ 
+-	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
+-	groupAttribute := "memberOf"
+-	dnAndGroupAttr := []string{"DN", groupAttribute}
++	labelAttributes, labelsConfigErr := la.getLabelAttributes()
++	if labelsConfigErr != nil {
++		return false, nil, labelsConfigErr
++	}
+ 
+-	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
++	accountEntryDN, entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &labelAttributes)
+ 	if uSearchErr != nil {
+ 		return false, nil, uSearchErr
+ 	}
+-	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
+-		return false, nil, NoMatch // User does not exist
+-	}
+-
+-	accountEntryDN := entryAttrMap["DN"][0]
+ 	if accountEntryDN == "" {
+ 		return false, nil, NoMatch // User does not exist
+ 	}
++
+ 	// Bind as the user to verify their password
+ 	if len(accountEntryDN) > 0 {
+ 		err := l.Bind(accountEntryDN, string(password))
+@@ -102,21 +105,13 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 		return false, nil, bindErr
+ 	}
+ 
+-	// Extract group names from the attribute values
+-	if entryAttrMap[groupAttribute] != nil {
+-		rawGroups := entryAttrMap[groupAttribute]
+-		labels := make(map[string][]string)
+-		var groups []string
+-		for _, value := range rawGroups {
+-			cn := la.getCNFromDN(value)
+-			groups = append(groups, cn)
+-		}
+-		labels["groups"] = groups
+-
+-		return true, labels, nil
++	// Extract labels from the attribute values
++	labels, labelsExtractErr := la.getLabelsFromMap(entryAttrMap)
++	if labelsExtractErr != nil {
++		return false, nil, labelsExtractErr
+ 	}
+ 
+-	return true, nil, nil
++	return true, labels, nil
+ }
+ 
+ func (la *LDAPAuth) bindReadOnlyUser(l *ldap.Conn) error {
+@@ -193,9 +188,9 @@ func (la *LDAPAuth) getFilter(account string) string {
+ 
+ //ldap search and return required attributes' value from searched entries
+ //default return entry's DN value if you leave attrs array empty
+-func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
++func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, map[string][]string, error) {
+ 	if l == nil {
+-		return nil, fmt.Errorf("No ldap connection!")
++		return "", nil, fmt.Errorf("No ldap connection!")
+ 	}
+ 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
+ 	searchRequest := ldap.NewSearchRequest(
+@@ -206,38 +201,66 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
+ 		nil)
+ 	sr, err := l.Search(searchRequest)
+ 	if err != nil {
+-		return nil, err
++		return "", nil, err
+ 	}
+ 
+ 	if len(sr.Entries) == 0 {
+-		return nil, nil // User does not exist
++		return "", nil, nil // User does not exist
+ 	} else if len(sr.Entries) > 1 {
+-		return nil, fmt.Errorf("Too many entries returned.")
++		return "", nil, fmt.Errorf("Too many entries returned.")
+ 	}
+ 
+-	result := make(map[string][]string)
++	attributes := make(map[string][]string)
++	var entryDn string
+ 	for _, entry := range sr.Entries {
+-
++		entryDn = entry.DN
+ 		if len(*attrs) == 0 {
+-			glog.V(2).Infof("Entry DN = %s", entry.DN)
+-			result["DN"] = []string{entry.DN}
++			glog.V(2).Infof("Entry DN = %s", entryDn)
+ 		} else {
+ 			for _, attr := range *attrs {
+-				var values []string
+-				if attr == "DN" {
+-					// DN is excluded from attributes
+-					values = []string{entry.DN}
+-				} else {
+-					values = entry.GetAttributeValues(attr)
+-				}
+-				valuesString := strings.Join(values, "\n")
+-				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
+-				result[attr] = values
++				values := entry.GetAttributeValues(attr)
++				glog.V(2).Infof("Entry %s = %s", attr, strings.Join(values, "\n"))
++				attributes[attr] = values
+ 			}
+ 		}
+ 	}
+ 
+-	return result, nil
++	return entryDn, attributes, nil
++}
++
++func (la *LDAPAuth) getLabelAttributes() ([]string, error) {
++	labelAttributes := make([]string, len(la.config.LabelMaps))
++	i := 0
++	for key, mapping := range la.config.LabelMaps {
++		if mapping.Attribute == "" {
++			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
++		}
++		labelAttributes[i] = mapping.Attribute
++		i++
++	}
++	return labelAttributes, nil
++}
++
++func (la *LDAPAuth) getLabelsFromMap(attrMap map[string][]string) (map[string][]string, error) {
++	labels := make(map[string][]string)
++	for key, mapping := range la.config.LabelMaps {
++		if mapping.Attribute == "" {
++			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
++		}
++
++		mappingValues := attrMap[mapping.Attribute]
++		if mappingValues != nil {
++			if mapping.ParseCN {
++				// shorten attribute to its common name
++				for i, value := range mappingValues {
++					cn := la.getCNFromDN(value)
++					mappingValues[i] = cn
++				}
++			}
++			labels[key] = mappingValues
++		}
++	}
++	return labels, nil
+ }
+ 
+ func (la *LDAPAuth) getCNFromDN(dn string) string {
+
+From cd37001980267a99a9faa19f1927891af63acb90 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Tue, 28 Feb 2017 18:27:16 +1300
+Subject: [PATCH 3/3] Remove unused configuration fields, never implemented?
+
+---
+ auth_server/authn/ldap_auth.go | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index 6f733a2..9c8bcb8 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -40,8 +40,6 @@ type LDAPAuthConfig struct {
+ 	BindDN                string              `yaml:"bind_dn,omitempty"`
+ 	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
+ 	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
+-	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
+-	GroupFilter           string              `yaml:"group_filter,omitempty"`
+ }
+ 
+ type LDAPAuth struct {


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-auth/docker_auth/, sys-auth/docker_auth/files/
@ 2017-09-15 12:34 Manuel Rüger
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Rüger @ 2017-09-15 12:34 UTC (permalink / raw
  To: gentoo-commits

commit:     73d8d2f60067ee4b7299cd3107dccd3aed4a5dd0
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 12:33:46 2017 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 12:33:46 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73d8d2f6

sys-auth/docker_auth: Version bump to 1.3

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sys-auth/docker_auth/Manifest                | 19 ++++++
 sys-auth/docker_auth/docker_auth-1.3.ebuild  | 87 ++++++++++++++++++++++++++++
 sys-auth/docker_auth/files/docker_auth.initd |  9 +--
 3 files changed, 108 insertions(+), 7 deletions(-)

diff --git a/sys-auth/docker_auth/Manifest b/sys-auth/docker_auth/Manifest
index f5f2b7db1bd..1e8917e2624 100644
--- a/sys-auth/docker_auth/Manifest
+++ b/sys-auth/docker_auth/Manifest
@@ -1,9 +1,13 @@
 DIST docker_auth-1.2.1.tar.gz 40378 SHA256 8134310d34a2cb8dc1b2b843e8617eba508659133453b272d66459dc251a91f2 SHA512 07fb139ccf8bd0e39541144bc320985f9865d1d710c8b5c5941d0ff6f6a9381d454522eadd44af9162e8d4b98b6c69926067b9439363e5ab104e67c1ae41f2b5 WHIRLPOOL 2b1c5a9e9120694641ae019c244ce097abb9f51fb34a25b2ee486674bc19dee1e24d26f5a8a922ad741971b4f60b13751b34565056603dd9b11095eac60bcd8b
 DIST docker_auth-1.2.1_p20170711.tar.gz 40378 SHA256 8134310d34a2cb8dc1b2b843e8617eba508659133453b272d66459dc251a91f2 SHA512 07fb139ccf8bd0e39541144bc320985f9865d1d710c8b5c5941d0ff6f6a9381d454522eadd44af9162e8d4b98b6c69926067b9439363e5ab104e67c1ae41f2b5 WHIRLPOOL 2b1c5a9e9120694641ae019c244ce097abb9f51fb34a25b2ee486674bc19dee1e24d26f5a8a922ad741971b4f60b13751b34565056603dd9b11095eac60bcd8b
+DIST docker_auth-1.3.tar.gz 48970 SHA256 6279ca7c4428b46117f96c303114562b17bbe2337b5da82e5c2fc894d411fe86 SHA512 c0964a643d0269b2c7c4a1a747b421dfea8d8c42e3812a6b0dc2fa989e9e81fd6d6fd34672b19ea4472bf05be53bdd4d1c343fd241eab55d9b3496b47b3fa0c8 WHIRLPOOL 58793aef915358e7e4084745553d8b83ad53d87a20689358407d43a6e4150aa4a41d0aa19586e35b72523885aabedd416ad532633dd920b21d74345c38f3c35e
+DIST github.com-GoogleCloudPlatform-gcloud-golang-bbf380d59635bf267fc8a8df03d6d261c448ee3c.tar.gz 1082782 SHA256 5aa3ca04f524b22b9970a91a575d2e31d501dcceee56b7577a2615eaff1918e3 SHA512 d4b8f145a5007668d7b67ea63ffc221d4b56b76bfabfc7ba7b8182ca579edeca707638b4d81746ea1d7ae30915358028d026e17524e1e49a14d3f70c0efb85c2 WHIRLPOOL d3b366fceb3a1c52a7512691c4789e0c380e73843495487b8adb9708d5fe2c21480d7488cf6d3d3a46bbcac931f55853a546cafb76b78f60177e0a099e1dfb9f
 DIST github.com-cesanta-glog-22eb27a0ae192b290b25537b8e876556fc25129c.tar.gz 20273 SHA256 9960f3d916d6dba8e745cccc6fdef3982f57b6034321cb29d2df8c7ddb2d41d0 SHA512 3c4b757fc0d0e45382b1ef0180eea2f0429e8c7ecac0089fca79bc717f6c0a04918b91a144ca78331178cc914b808b40596c6a6e214157d2f812858be31c13d6 WHIRLPOOL f4d4abff55e1704d53efb52072405199e6d10b72aaf4abe5b9fe0b2255014da311f3f5d95ba69d1e4faed74511d0641658562eb46ae6279a417b4ac40dc92971
 DIST github.com-dchest-uniuri-8902c56451e9b58ff940bbe5fec35d5f9c04584a.tar.gz 2471 SHA256 f0e76f66c27b485fb8fd76ed0da635bf34751714487a16931f07bf1b1986b30f SHA512 70421b526e3040a49e63be6c892de2953b4f9ecdb01b148eb2bab3814f610a8c39bd98aad858cbaf9dcf621b52ee9ef952f0cdcdc6eca77da8ebf80dbbf1c04c WHIRLPOOL 63b97e4c3aa3b0275d3e2cd8f4fcdc523da62abba89b177c4f2a228bd7237fe719804e24616c082a41a2fef421ec3ed86be399cc207265675931a1e4cb73e050
 DIST github.com-deckarep-golang-set-3a36ffa8b5bf7cd329c8834c6b743d6930dad12f.tar.gz 12556 SHA256 0a40212b47dab5aef266a4af14c84e96c3ed8a16eb6920168091192ed6f0cd33 SHA512 99403278805067a6f4d831f664e58b6bea510f2b51db3c1335f4b09a1dbb3b0ef886d7150faf48c7fba1f1c29f17f335b6a8af4b35e3dfe8be07daa8510adfe8 WHIRLPOOL 9326c0f9c1a0d72db28bb6678bd5d1ba0dc18979e1b67d9034890f5aea0440de7f65d054226cbd1234a8ac572ac832bc03e6fa221ec830a134b1b5e7f5a50d86
 DIST github.com-deckarep-golang-set-da5f92821c31f5f1e2fe1a768c8b6052278532f2.tar.gz 11803 SHA256 13769b15f251990919c888fa63d08b901c4609a691833ae902fd2c8f71368ea9 SHA512 725882a828be7a76b403c40b818da91039c9654a27e1b1f25219ed382cfc36cafb0c03e651a4f5ea80e90de4bf0fdb58d826dfc2b3d2c28a40882f7d0064ee45 WHIRLPOOL a1326a564d0ea98397672b4567cf73cc756fe8aa7447544bfdb5aef1ac13890a876253a19bdd1617fce628710d89f701c028b347dd734f06a722344eaee1dfa7
+DIST github.com-deckarep-golang-set-fc8930a5e645572ee00bf66358ed3414f3c13b90.tar.gz 11814 SHA256 3d7de16db3e4f53349fc35fa538f14ef6f9a1286b8eeb39b95cc1050d43eee3d SHA512 4ac5a5a8985e7bda13d272854f68ad41feb435ab2fb835ca47a63db49211311f502273355f2d9e0c4bd264d8cd6438d077f0eae7b0c6aecadde93c766bd69513 WHIRLPOOL efe7302aa62737b55376760296055e6befc058565841d95fdee99469c4a3d2a3ffe2a8daf564780b4652c9a828ecc81bf7b45473792ad1aa39e2fc80d5626d43
+DIST github.com-docker-distribution-0700fa570d7bcc1b3e46ee127c4489fd25f4daa3.tar.gz 1609656 SHA256 c295f3bf74b0d6c4ab241f2e7ba38c0f95a03ca062319f54cd7870dbd09f9d14 SHA512 b155225d711c5bdca3246ad2a5cfd41a3cee9144cd30d90dde0407d3cc8c1aa20e6957016959424bd55e21b2a9332629a62294d09799ccb2626eb5136455e1b8 WHIRLPOOL 498df040f58e5f3218eaf67acfc7c15850c2fff93a154117e9d01b1b5203648bccf1690deb91eb68ffeb466bc4ed7962e80a4e46c9599e9381d16a4e8718c3a7
 DIST github.com-docker-distribution-a40abc69f2ecea20dd7944537a119c2ce2b3f957.tar.gz 1744995 SHA256 64ce52b56f3d088d621db6dcbfbae95cee124a53175029286a1cb420bc5ec9f0 SHA512 223d36f74d35257c6e916c4b05e5f81efb3ffdfa0c01077307926e2cfa66e26e897ec718e00599a71c83e53c17726646476017a3d6a403c2ac797e7f29b0e7a2 WHIRLPOOL fc7d84f4b6e28f39489f8e49addd11babb073332ba1b047c5c040249093f62cff2494b67b0ae8a45c7154480d1fbf8418a058adea568832398009896fba3e104
 DIST github.com-docker-distribution-f86db6b22663a27ba4d278220b7e34be528b1e79.tar.gz 1754936 SHA256 ac7440fe991fa0d0616df3d9fb0a3d21be51d891041596e5f037bc0e979a1d60 SHA512 448d991bd9ac90185c65e06f3fbd5e2859f3fe7111d06dd56ecd6abc8a74374f031950d32dee130ab2aceddbd6d39b2f978a25b6879b05f0814521b676b49b2a WHIRLPOOL 5fcf75423b43393737ef15c923aca29f3ec7ac6165511c4ec6c6d9c5fbc6cc2d3b9ce6fba8f111902a685b34bec5cfa2387b7676eb330eaf6ef9aa4beb56c474
 DIST github.com-docker-libtrust-aabc10ec26b754e797f9028f4589c5b7bd90dc20.tar.gz 39352 SHA256 a3cb5fd53b4eb0ef259f039d0d10e237c8fff86993f9335959cf233956f0c065 SHA512 31d5a613807764c03d3356ee134bf384eca7953d4113e35d8fcce322611c25b444dd07904eb34c86c7e951529040c33fa821a56a687260e9298f900c7907e83b WHIRLPOOL 0b1cd73ba1ca2858324d6bc7f862bb794480d908250b8e05b3b28ff06837420e3b71107d040d3dfdda031cbcb72d0d0a3e934406a06d0e21c9a69708363b8f92
@@ -11,13 +15,28 @@ DIST github.com-facebookgo-clock-600d898af40aa09a7a93ecb9265d87b0504b6f03.tar.gz
 DIST github.com-facebookgo-httpdown-a3b1354551a26449fbe05f5d855937f6e7acbd71.tar.gz 9729 SHA256 c34330738c168a17a7720bd32fb00311005bd8c0d6bb5d6690bb2e73a81386ca SHA512 1958e337e1fd896227dd4a2eb551ffe92ffe12a25acdc422ad14c6234eb5e080a6f537f73175c2246768978803edf5fd9425925880546746e996e51a232bc7bd WHIRLPOOL 2234ea870430e3e35771550add39542f84522f656193f14b794dedca0a4c3a537513d8a6b686265e814d528e3c9139fc125f3584531a24bc3862f724e36b43ce
 DIST github.com-facebookgo-stats-1b76add642e42c6ffba7211ad7b3939ce654526e.tar.gz 5658 SHA256 9b22019e41b13c2e84dbe887689897ecc0b5a1b2410bca0454eebc83166cadc6 SHA512 12a0b172c956592c7ea1db3a8a0bda5ba80b215d938ecee1c0fa492bd04f3f896efeadeac192c5d1d57031e10d5c95578e441cbba0df080f4c4a1852de7d36fe WHIRLPOOL 211e6238c0ee34dd7d41e7b812a927f3d88e073bfde1e922795adcaf87032287913c8e59571ca412baea1a5818cbd49c2d4825c4db24244f6d3ee4e54a908430
 DIST github.com-fsnotify-fsnotify-4da3e2cfbabc9f751898f250b49f2439785783a1.tar.gz 30624 SHA256 782e83c5384cb2e233b947ffba27c8d067f23fadf38b86f6df779c144425cc36 SHA512 cff467ffbed22edf4cde7a52e0f0d7a5b4a06446a6140ad7fa018dfcce3b400342223d888a0389042d2e6fd7abe261d0e515adc6e4c03a74e3cf074e88af17ab WHIRLPOOL e6cadc7272518d2ecd03e9b208b12500fe6b5bea6c490a22133b8021bd2befc77cce104d29c2ceb01f0b18e0f2eef44321fe61427c2834bc09ced956526c6f36
+DIST github.com-fsnotify-fsnotify-629574ca2a5df945712d3079857300b5e4da0236.tar.gz 29588 SHA256 efa6568b01943ef1bcb3311c2371d300925fdde8fa4746673fefb703b572da2f SHA512 eaadede8a6fe231ea1f66755899891e288b5a69c2f74c1f11854b5060f471591f291a5394490a80864fc8d24181ada8a454c9b91ad04988021b5029298dd411b WHIRLPOOL 6727fe1af62b01f0f7c4b2dd38d4c0598d0e6da6df4cd63a7638377685840d640538d814f5a02ee56d16819c24e74e84dd6680af0eb47d158fbaa7eedc0e3a7f
+DIST github.com-go-asn1-ber-asn1-ber-4e86f4367175e39f69d9358a5f17b4dda270378d.tar.gz 12329 SHA256 f6462804a4336e9ba814c9d6bd8b4caf632abc4e3a966a0201847a780c06076e SHA512 fbba36ee6fd0d33558d4f13b6327a1385bde914c1c40954da19039bb55dc10d0166a1dd7a8650cb9776f2aad6f03ad110fd550a49e9c934446d23cd8eb3279fb WHIRLPOOL 54c5af35f9bd79c6b553a516526ceb928c97bfcdcf037d737c9f5ffa39c3cd2d4667e28f0af0d4a44e003432a575ad79a51827949d33cc1d8154badbae4888b3
 DIST github.com-go-asn1-ber-asn1-ber-b144e4fe15d4968eb8d6e33d70761727d124814e.tar.gz 12224 SHA256 a8eb53081c4b6a2be08ea5a2bb26e2203899f4e00a694beba39cd71517172df1 SHA512 9fe072dfe167c7d51d838e1e0b4751c158e2b340409fb51a5d311ed6fb66b18c2daf27364c67bfc58faa4338206c706cbd13e1d022c6a7a08a2adf0a9fc9e6a6 WHIRLPOOL 80f6d89b810ff38c345ab64829c2311f7d82fc69608ba06fecad87fd412f3e1fc272d03e19d942b67e571fb2a39754e3505849693e5ee56932cfc4f38f4b96ac
 DIST github.com-go-ldap-ldap-13cedcf58a1ea124045dea529a66c849d3444c8e.tar.gz 36378 SHA256 624fa69738c3b768fc39fe68dfc84aee19ec969340396e85ca70ab717d1285d2 SHA512 3d4265b36e77b77357dd4f3f757bcdcb2dd4fc677ec83a33ee125d48ca19431075b0ab8087a4cb7d0a5027b1c2ea6ca516003c81b4d7df55de9c54ec6dc248fa WHIRLPOOL 448cb863e7888dc509e9b7d530b79f65fdd084b1f8c3673deb69fedeaf24e785786d0c7bb0b02816c62bd8b2faa85b7026701aa5de74c241b1fe889909d0b216
 DIST github.com-go-ldap-ldap-37f35d7ffc6b8219cc62f5e182e258d143be670b.tar.gz 36443 SHA256 255a6d7180fd4a2ce0ad39af8a3e178cdf4b776c1516ecd1f6f22a4e7af7ffcb SHA512 c8a8c877f03bf4f246aeb1f7c2f17c5a848db970b46a93675263fb9f18ad50e56802fdf3d734185aed9c5f10de0366c906161607ce281a74c316fb57769fb970 WHIRLPOOL 095cd2ca3c745acd6b2b6e3e85fd40b3b6b98dbebf70260c8063e2c275ec40e76f24c1e30cf35105f93da52286c30cb161da39656e400a9f7943774af09f8211
 DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 SHA256 6c97700204a9078a08bb0e67e8519c5f3a8c892b0401244a17bc2c0838410b9f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845 WHIRLPOOL b95f88c8c023434b058426d8c8e5e230a1a4b6ba2bd701a0a078bfd774f861fcbff24fd08af6ed067fd3ea168854eec8c15708baf5275cb5c1e9ccce61d738c6
 DIST github.com-go-yaml-yaml-3b4ad1db5b2a649883ff3782f5f9f6fb52be71af.tar.gz 61016 SHA256 e986d71ee8566b97b1eebf34b6c6250e816253ac93d66778b3d75af56f7cfd9d SHA512 fe23b0d3df64b5e831c936ce7726555ab204d2896f362de9e201c59d128bcc09c852d664bdb66f881f89a7183eca5dd815312951a87ea92cca5be7e64362957d WHIRLPOOL d71b7649d502ceb6a9163e2dbd99d38f40297bab401b392808d259886f8bf8d2bc5637eec9b8dfb48561839fb0e8223292f3769f85c6b3390a976ad4304fcf54
+DIST github.com-go-yaml-yaml-a3f3340b5840cee44f372bddb5880fcbc419b46a.tar.gz 60814 SHA256 0904953c06aa32c6691cec2390437f7d4d62c71f37d72f50d110a6577c87963b SHA512 184a0e658a4eac3b867533cd0e494bd84db94fbe10e8df0d0b755c7ffc95bc99e2f84c0157183ca74cdc79289a85dcf7f1dea8a4c89a253565baf473b3627eae WHIRLPOOL c9113048502f65a4036bbfbd4f072b27b41f68547e682d1e1496ae73c65c30b1470061d1f99d17e6b4a373e59e07568b460ad5396eb4b1f16079da077aa8382f
 DIST github.com-go-yaml-yaml-cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b.tar.gz 60805 SHA256 11a6ce686bb70ab92020f2dffadc2e024e267a6564a62b0091e2974474c7f88d SHA512 268498022f34c4b59b5b75443ee10fd4273203f4b77bfa11b08a792c004cf13e3010c34b4c15cee2b4e7f3c910648d9897700f60ab00b327d78c49e97497fe2b WHIRLPOOL b2d18dc7354fa6e4819c2b1437e3dce55212fbf6e907361b82bfefc0b2306f12cbf70560c3819e2a81426e538949f05be01c6b8b3f3e53a3aa6daf828e95d537
 DIST github.com-golang-crypto-5a033cc77e57eca05bdb50522851d29e03569cbe.tar.gz 1333656 SHA256 e1d4738690414c7b30df144586212b1fda58e8a882d1f75b01f48c3261d31701 SHA512 2d063f8319cb41f0f0c1f46fd4086c901f6a02833dc3110c46d2e6098b90f1a2f626bccc5aba6fbbafca2f4e31c20a9ae5c4f3f95a268abf82cbc490d1be70af WHIRLPOOL 313c6daeb98083fb6072432948e89d927fb3c9c73d95bbde9ef2afa19200526b887e724c97a2fdfdd45eb56ff114322d83417763ce7a31797d009cb1fd62312a
+DIST github.com-golang-crypto-e1a4589e7d3ea14a3352255d04b6f1a418845e5e.tar.gz 1336856 SHA256 28950420102f0dc290b84a52f06bc5b12a0a2b411b1b4fe216ba4ffe3ec3754e SHA512 c22fc86fbc22d6ec8157f89c075f07db8b72bf63ff97e06c907f555bf865cb77414c4fa2b9974407e43fa4f74b77710d3be9d2646f929fcfd5269b0ffc379914 WHIRLPOOL c85d338f87f5c418009497308ba28bd805769cb5350835dca35f77cce7ce456afe9cbcd66d9db3aea77e3eab0ed228260f7ec2e6825632624d9c80556ed15fbf
+DIST github.com-golang-net-859d1a86bb617c0c20d154590c3c5d3fcb670b07.tar.gz 920336 SHA256 6ca476b72c2b53b181fc32015651b385f565079d8395a28176bf8be168e8a1d2 SHA512 49ccb64c9b675460d12ea6d0456bb1124a92d56e70b04398d14b33dd5879c4e188dcc3e6c79c1aa6f491507f854911a9298fbc61aed60cbdab0205b6995bb4a3 WHIRLPOOL 6995b918f17d4930c246c6796febf09eab7c2777f649565cc4cfc03b770577dbd6a01a8824ba3dde555001cf814e27dd8b886de466e7f5fec1cdbd1791dbc225
+DIST github.com-golang-oauth2-13449ad91cb26cb47661c1b080790392170385fd.tar.gz 38610 SHA256 37eb1785d9f7ed65cf65440f539212afd79542557e87210d6dac0ab1a3bf6dc4 SHA512 9301e42d43ff421f85949b1fd7e60baa183842b0d128c0f4895708c30a91e4e614032a08dda03c2564b41251037c453f95aa21fe1876672e033c83890a96d660 WHIRLPOOL 26cb7db13df1acad3f1e3bd06e0cbac01af3f24c094bd3105179ee3d949a52ccd5666d6860434ae97ed2f1111e8c23f37adfb4d1d5463e5ac94fed6162cb7cfa
+DIST github.com-golang-protobuf-11b8df160996e00fd4b55cbaafb3d84ec6d50fa8.tar.gz 267933 SHA256 327b39ec814a097e18944d161a115990d0bcedd76a4c28d5aad236425278acd5 SHA512 7b6ac268d15fc5e2c07a22784565466abca6257deef90183bab45e1935c915dbebe5560e6583d76b2ba8b58fa22b0c07f5f512c188b6503ebbf47937f844afe9 WHIRLPOOL 8691fdcb7d99993fce6eae79a0bb127161d74c5dfe3d98a4f1b9559e605365bf8753ab506d2b7c691e88ec1bb56d30f31e1ac169e65cb0489b80e70f12b2e1ee
 DIST github.com-golang-snappy-553a641470496b2327abcac10b36396bd98e45c9.tar.gz 62076 SHA256 2ddf0f394a8b5a83942ac351cff5c04f936e6bd6e6cecc73ce6145b9bfd4c6e7 SHA512 a324c8a7687e820f6b322930a054d1e7fc4c37bb66a95d473ef2a67fed703de90e8cc3072273ad2f9c681b1cf7ec1acc0ee9dc735ab593e23eea5cde96eea8a6 WHIRLPOOL cd942c31b7b6d084190030383c0342fbb64baada50f93f07d0cb36c412515f3f528301336d6b0f310b34181acc1f2532bad2b6eddfca245ae0d02e1cffee0656
+DIST github.com-golang-sys-493114f68206f85e7e333beccfabc11e98cba8dd.tar.gz 677040 SHA256 c1f049684c7f44d3542393bcc4f9b51ba5317d324b35fe32cce36f5a39bf2280 SHA512 efebe04d03a37e06ddacc0bbb1c7c35ac6590dd1e2e4d8c3da38f36ecab53a2e488a8e042e7d39a14c1163bf033ebb42e72c4760a0d0acf3aae0ae3fb3355dbc WHIRLPOOL 6e5e3eb016dbf6eb98e730be4642f2cbb82b25d192e0b32558f14caa0598afdb919c821532e23a6ca7d95b94f0ae83754588c79db37fee52c36ea47e36ebb0d5
 DIST github.com-golang-sys-9ccfe848b9db8435a24c424abbc07a921adf1df5.tar.gz 699848 SHA256 cc07bec497fda7e8ec78350dc1f190688c7e7ec7ff643da96081ed6e54e69ef1 SHA512 92d75b54af9f1a0bde6b480d6e254260f49212fde93b4ebc04f6fab08970ae0916ac82aaa49b9c513174d0838412c3786f45d74f7141025cd18a5fa4046d612c WHIRLPOOL 32c0f224e9024771fb8e8fb836f3f8b37f00f671d994e3f28112927634445032a126641bc6464372ff303c4e1f7ba611e81d8c23656dbeeefcd2cdefe2fd1f77
+DIST github.com-golang-text-ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49.tar.gz 4618514 SHA256 23ff39aa309dcc1062af4f3f341634cca73a46915ef0c7b326546ce44764ab0b SHA512 d3231ceb80f5bb379bd6e9a717c1f16451dfd58f32de221020df5a92d3a686ca85b56120db88a93ac49e9a93aff472658c251de91c5fa6b5fe8d1d4b614dd615 WHIRLPOOL 4dfaeb243e22b316f7b6f25832d5b6f9d578c1c1035345adc6cc44fd07f45a530b9d4c6d7e101509081e81b15b3f8a082c5d49ad527400f6bb3d9c8173d9ceee
+DIST github.com-google-go-genproto-595979c8a7bf586b2d293fb42246bf91a0b893d9.tar.gz 988349 SHA256 e75295c57cc5f8b2be1f13a496bf9aa4bb223fcbf81415eb48240f0bd2e3516e SHA512 1cfcc16d9eb8d6414e943d7a62ea6606527b34135e8baa905f92e1e4f438f245d9cc4db9711c9b191b979bab6eef404adb84c2c85fd2af2c91bc0d8e89a7b1cf WHIRLPOOL 5c5b0019d4cede329a940bb413b14f414634cfe722bb69c49ef84bd203ec70d45e8efef21d065fc4aefb48a792d9bcbae8179c03ab704a7ffe980b859dbe413e
+DIST github.com-google-google-api-go-client-39c3dd417c5a443607650f18e829ad308da08dd2.tar.gz 6388385 SHA256 33a6f85f6a4b2bef1f9c33ddd6f285181200b43f13eba4a191fce2d39efff448 SHA512 5d5d66abff2bad1a758e0a9cd9b12b9d9d2f02df8b9eb6ff0b38ae505808c1a6e78eb46ee0516b92ab04e1241aac827287b2dc050adf84c867168e0b441864ba WHIRLPOOL 0bdc487c8540cdb3615e8e4500602af650acb217b4706eb82efe35a32f674d09da2504b2f864a4eb4849b4e320c7185eb47616dac796b8d767a896d72efd6274
+DIST github.com-googleapis-gax-go-8c160ca1523d8eea3932fbaa494c8964b7724aa8.tar.gz 10165 SHA256 99f92860387ee6b28a4822ac8b67cec6018956850ab3fc325801e85aaf56af3b SHA512 94f00cef5d586dc6b1893bcd1f6ccee22c13888859e4e2e87c9a0dd30ace0011be4e172a5346d22165f1a4b6e637070ad1da808dcc89103a0323094c09d76aa3 WHIRLPOOL 5b2b7977fcf73d3605929a02ab0d9c63a3025d5f6f43928339a3da49372bcf1b84712cf364b49738696a10bf69ee69e086853d24f232d63ab0260b12d770f54d
+DIST github.com-grpc-grpc-go-35170916ff58e89ae03f52e778228e18207e0e02.tar.gz 315740 SHA256 8077270001a7583e3d4eb886d6e9aad8f99729e845110ad524bfc290ac0f70fe SHA512 8c30f7641cb2cbbf274af90579b5e60370e85b1052b6206d02a395d69aa9a545d66fdb732e7636e3b326451be0f88bbf180c690835b39adb4c63d1dd67fc8c6a WHIRLPOOL bfa1c3cda2108c9227edbd8a34cb979f9fd16fcf2207a7484cab428f9c6a41e8117a513f22b3f0ba7f1133736dc72fb45512c74de3c54247fa63935eb566bc1e
+DIST github.com-schwarmco-go-cartesian-product-c2c0aca869a6cbf51e017ce148b949d9dee09bc3.tar.gz 2433 SHA256 1ffd1dd3254758b78020c1cc035a8ba97f9984192911b9101ac8d4f1a3644c45 SHA512 a1767b2c5c6340cb2649d63beac11571ec3c9b2c98011234d5a51eb337d221ea411e517660ae966fd4f582ffef18b088d7125d29ba271bece8b51254dcac940b WHIRLPOOL 2ddcbfab394c646b268cd699bb1adcebb502e4b63f60a76a8ac289b4f82db8090ce46a3fdfd75108931f59ddaea564410b5b6df27f969a4f9c536962df71fd0a
+DIST github.com-syndtr-goleveldb-3c5717caf1475fd25964109a0fc640bd150fce43.tar.gz 137276 SHA256 ca10398b8db38de682325b8af51a9013380d42c4a66809c7a32eb2c26943453a SHA512 bac364a68737f5faed9ec052d47db01dc4aa0eca4ef786a43766b844ff27d8d9f87a94159a17c58745dd4ba002a9a83cd091ab2561a61d01b0a672a82002c1d4 WHIRLPOOL 7a72edccbfaed15dd7ffef987024e27cd292e62feb03318999088d9343368726d597e373203896e6eda68a1bd4d6501b44c3a9cf2705768e14e9462814f588ca
 DIST github.com-syndtr-goleveldb-8c81ea47d4c41a385645e133e15510fc6a2a74b4.tar.gz 137450 SHA256 4d8135d58399206972afe2175cf534dd77bfe5825fc5680f3843a13e77fef089 SHA512 aeb271746a75499005acb17ac462c8a76f9b2dac457fa1d70114abd22cb31c50cc273a98d75dd7ff0e1cb1c1f1dc034a37006b48a72cf3490cf0f621c361bb9f WHIRLPOOL 191b9431396b0a6b90ab895a31ea3c6a8a5c6c8da0eb621fc73a991ab55a0b62e9d1afd74188fca9e619b5545288e6c903e0cdb4719997283cd4a15af0e0b707

diff --git a/sys-auth/docker_auth/docker_auth-1.3.ebuild b/sys-auth/docker_auth/docker_auth-1.3.ebuild
new file mode 100644
index 00000000000..1bd472fae30
--- /dev/null
+++ b/sys-auth/docker_auth/docker_auth-1.3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGO_PN="github.com/cesanta/docker_auth"
+
+EGO_VENDOR=(
+	"github.com/dchest/uniuri 8902c56451e9b58ff940bbe5fec35d5f9c04584a"
+	"github.com/deckarep/golang-set fc8930a5e645572ee00bf66358ed3414f3c13b90"
+	"github.com/docker/distribution 0700fa570d7bcc1b3e46ee127c4489fd25f4daa3"
+	"github.com/docker/libtrust aabc10ec26b754e797f9028f4589c5b7bd90dc20"
+	"github.com/facebookgo/httpdown a3b1354551a26449fbe05f5d855937f6e7acbd71"
+	"github.com/facebookgo/clock 600d898af40aa09a7a93ecb9265d87b0504b6f03"
+	"github.com/facebookgo/stats 1b76add642e42c6ffba7211ad7b3939ce654526e"
+	"github.com/go-ldap/ldap 13cedcf58a1ea124045dea529a66c849d3444c8e"
+	"github.com/cesanta/glog 22eb27a0ae192b290b25537b8e876556fc25129c"
+	"github.com/schwarmco/go-cartesian-product c2c0aca869a6cbf51e017ce148b949d9dee09bc3"
+	"github.com/syndtr/goleveldb 3c5717caf1475fd25964109a0fc640bd150fce43"
+	"github.com/golang/snappy 553a641470496b2327abcac10b36396bd98e45c9"
+	"gopkg.in/asn1-ber.v1 4e86f4367175e39f69d9358a5f17b4dda270378d github.com/go-asn1-ber/asn1-ber"
+	"gopkg.in/fsnotify.v1 629574ca2a5df945712d3079857300b5e4da0236 github.com/fsnotify/fsnotify"
+	"gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo"
+	"gopkg.in/yaml.v2 a3f3340b5840cee44f372bddb5880fcbc419b46a github.com/go-yaml/yaml"
+	"golang.org/x/crypto e1a4589e7d3ea14a3352255d04b6f1a418845e5e github.com/golang/crypto"
+	"golang.org/x/sys 493114f68206f85e7e333beccfabc11e98cba8dd github.com/golang/sys"
+	"golang.org/x/net 859d1a86bb617c0c20d154590c3c5d3fcb670b07 github.com/golang/net"
+	"google.golang.org/api 39c3dd417c5a443607650f18e829ad308da08dd2 github.com/google/google-api-go-client"
+	"google.golang.org/grpc 35170916ff58e89ae03f52e778228e18207e0e02 github.com/grpc/grpc-go"
+	"github.com/golang/protobuf 11b8df160996e00fd4b55cbaafb3d84ec6d50fa8"
+	"golang.org/x/oauth2 13449ad91cb26cb47661c1b080790392170385fd github.com/golang/oauth2"
+	"cloud.google.com/go bbf380d59635bf267fc8a8df03d6d261c448ee3c github.com/GoogleCloudPlatform/gcloud-golang"
+	"golang.org/x/text ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49 github.com/golang/text"
+	"github.com/googleapis/gax-go 8c160ca1523d8eea3932fbaa494c8964b7724aa8"
+	"google.golang.org/genproto 595979c8a7bf586b2d293fb42246bf91a0b893d9 github.com/google/go-genproto"
+	)
+
+inherit user golang-build golang-vcs-snapshot
+EGIT_COMMIT="2cd3699dab4e44a239db136a52734dab25897bee"
+SHORT_COMMIT=${EGIT_COMMIT:0:7}
+SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+	${EGO_VENDOR_URI}"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Docker Registry 2 authentication server"
+HOMEPAGE="https://github.com/cesanta/docker_auth"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RESTRICT="test"
+
+pkg_setup() {
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+	default
+	pushd src/${EGO_PN}
+	eapply "${FILESDIR}/${PN}-ldap-group-support.patch"
+	cp "${FILESDIR}/version.go" auth_server/version.go || die
+	sed -i -e "s/{version}/${PV}/" -e "s/{build_id}/${SHORT_COMMIT}/" auth_server/version.go || die
+	popd || die
+}
+
+src_compile() {
+	pushd src/${EGO_PN}/auth_server || die
+	GOPATH="${WORKDIR}/${P}" go build -o "bin/auth_server" || die
+	popd || die
+}
+
+src_install() {
+	pushd src/${EGO_PN} || die
+	dodoc README.md docs/Backend_MongoDB.md
+	insinto /usr/share/${PF}
+	doins -r examples
+	insinto /etc/docker_auth/
+	newins examples/reference.yml config.yml.example
+	dobin auth_server/bin/auth_server
+	popd || die
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}.confd ${PN}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}"/${PN}.logrotated ${PN}
+	keepdir /var/log/docker_auth
+}

diff --git a/sys-auth/docker_auth/files/docker_auth.initd b/sys-auth/docker_auth/files/docker_auth.initd
index a8c368f1810..52699100d8c 100644
--- a/sys-auth/docker_auth/files/docker_auth.initd
+++ b/sys-auth/docker_auth/files/docker_auth.initd
@@ -1,9 +1,9 @@
 #!/sbin/openrc-run
-# Copyright 2016 Gentoo Foundation
+# Copyright 2016-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 description="Docker Registry Authentication Server"
-pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
+pidfile=${pidfile:-"/run/${SVCNAME}.pid"}
 user=${user:-${SVCNAME}}
 group=${group:-${SVCNAME}}
 
@@ -15,10 +15,5 @@ start_stop_daemon_args="--user ${user} --group ${group} \
 	--stderr /var/log/${SVCNAME}/${SVCNAME}.log"
 
 depend() {
-	need net
 	after net
 }
-
-start_pre() {
-	checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-auth/docker_auth/, sys-auth/docker_auth/files/
@ 2018-04-12 13:19 Manuel Rüger
  0 siblings, 0 replies; 4+ messages in thread
From: Manuel Rüger @ 2018-04-12 13:19 UTC (permalink / raw
  To: gentoo-commits

commit:     7446da47cdde72a343f5715a37c55a2b3744ecab
Author:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 12 13:18:55 2018 +0000
Commit:     Manuel Rüger <mrueg <AT> gentoo <DOT> org>
CommitDate: Thu Apr 12 13:18:55 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7446da47

sys-auth/docker_auth: Update snapshot

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 sys-auth/docker_auth/Manifest                      |   2 +
 .../docker_auth/docker_auth-1.3_p20180202.ebuild   |  88 +++++
 .../files/docker_auth-ldap-group-support-2.patch   | 427 +++++++++++++++++++++
 3 files changed, 517 insertions(+)

diff --git a/sys-auth/docker_auth/Manifest b/sys-auth/docker_auth/Manifest
index 585a395b24f..d75d486a2a3 100644
--- a/sys-auth/docker_auth/Manifest
+++ b/sys-auth/docker_auth/Manifest
@@ -1,4 +1,6 @@
 DIST docker_auth-1.3.tar.gz 48970 BLAKE2B 06a5aaffaa9b1dee2c371fb3dcf51ae14e4a2fc1c8d5fbf8ec9804c77abd9b2178507ed37b906886ff1ed20ac255aaf681422dfee194fa23e17b110278b5e044 SHA512 c0964a643d0269b2c7c4a1a747b421dfea8d8c42e3812a6b0dc2fa989e9e81fd6d6fd34672b19ea4472bf05be53bdd4d1c343fd241eab55d9b3496b47b3fa0c8
+DIST docker_auth-1.3_p20180202.tar.gz 49699 BLAKE2B 3575a47399f101a376f21d7644a035d06c042bf7dc57b52bfa4867967bf1df60b6b0881068503d6ac99c618280c31bdbb58f181992295cc96c035eee08e516a2 SHA512 6591298d7fdac44878fabee818ff8969d428c3682dfbbd610d3eff3e2cd2f109921a09c84994025d5deaafc5686d6d598259f0b50e3fdf79bb0d683a5693183d
+DIST github.com-GoogleCloudPlatform-gcloud-golang-20d4028b8a750c2aca76bf9fefa8ed2d0109b573.tar.gz 873021 BLAKE2B f6bd3a08081b7ddd9c61884ba3157654139c70982ffa7245ed988bb1f0fd80af98ccac556168e90ea871ccc0909d03e7f1ee7bcf7cbf2160bbf764e412d123ad SHA512 e98f269d70927bb59fee31059e2d24a5ba71837adbf1f6619b1d9df0a3ec11ef58a2bdf46de6dc45f9ee0a3985c37bc05004beac34b94bc790093aa1550c939a
 DIST github.com-GoogleCloudPlatform-gcloud-golang-bbf380d59635bf267fc8a8df03d6d261c448ee3c.tar.gz 1082782 BLAKE2B 47eba3e3ad6af13a7b7710b20e970219d27e2a5aa3e3e57cdaf015d43ca6ac758104e822735841cbfc01f6598ef5b83dd85759881ec39ae55b0d485ea76ec8f9 SHA512 d4b8f145a5007668d7b67ea63ffc221d4b56b76bfabfc7ba7b8182ca579edeca707638b4d81746ea1d7ae30915358028d026e17524e1e49a14d3f70c0efb85c2
 DIST github.com-cesanta-glog-22eb27a0ae192b290b25537b8e876556fc25129c.tar.gz 20273 BLAKE2B 982093a19a04611d3e1e9c06dd499fd7eb4730c49057e2c86042acecbf7f1920b6dd83133eb0ae07938ab995cbf809aa7d2236c67a805e3f16ff2c2535e2f66b SHA512 3c4b757fc0d0e45382b1ef0180eea2f0429e8c7ecac0089fca79bc717f6c0a04918b91a144ca78331178cc914b808b40596c6a6e214157d2f812858be31c13d6
 DIST github.com-dchest-uniuri-8902c56451e9b58ff940bbe5fec35d5f9c04584a.tar.gz 2471 BLAKE2B 9cc560893309347a9f012cdb32009bc7201511fa337339c8ced7c671e4b43100e36370dc71c47001e33e411b7707c30787a36e953fa5d15990a1f0edf38accc2 SHA512 70421b526e3040a49e63be6c892de2953b4f9ecdb01b148eb2bab3814f610a8c39bd98aad858cbaf9dcf621b52ee9ef952f0cdcdc6eca77da8ebf80dbbf1c04c

diff --git a/sys-auth/docker_auth/docker_auth-1.3_p20180202.ebuild b/sys-auth/docker_auth/docker_auth-1.3_p20180202.ebuild
new file mode 100644
index 00000000000..ddc1b177ddc
--- /dev/null
+++ b/sys-auth/docker_auth/docker_auth-1.3_p20180202.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+EGO_PN="github.com/cesanta/docker_auth"
+
+EGO_VENDOR=(
+	"github.com/dchest/uniuri 8902c56451e9b58ff940bbe5fec35d5f9c04584a"
+	"github.com/deckarep/golang-set fc8930a5e645572ee00bf66358ed3414f3c13b90"
+	"github.com/docker/distribution 0700fa570d7bcc1b3e46ee127c4489fd25f4daa3"
+	"github.com/docker/libtrust aabc10ec26b754e797f9028f4589c5b7bd90dc20"
+	"github.com/facebookgo/httpdown a3b1354551a26449fbe05f5d855937f6e7acbd71"
+	"github.com/facebookgo/clock 600d898af40aa09a7a93ecb9265d87b0504b6f03"
+	"github.com/facebookgo/stats 1b76add642e42c6ffba7211ad7b3939ce654526e"
+	"github.com/go-ldap/ldap 13cedcf58a1ea124045dea529a66c849d3444c8e"
+	"github.com/cesanta/glog 22eb27a0ae192b290b25537b8e876556fc25129c"
+	"github.com/schwarmco/go-cartesian-product c2c0aca869a6cbf51e017ce148b949d9dee09bc3"
+	"github.com/syndtr/goleveldb 3c5717caf1475fd25964109a0fc640bd150fce43"
+	"github.com/golang/snappy 553a641470496b2327abcac10b36396bd98e45c9"
+	"gopkg.in/asn1-ber.v1 4e86f4367175e39f69d9358a5f17b4dda270378d github.com/go-asn1-ber/asn1-ber"
+	"gopkg.in/fsnotify.v1 629574ca2a5df945712d3079857300b5e4da0236 github.com/fsnotify/fsnotify"
+	"gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo"
+	"gopkg.in/yaml.v2 a3f3340b5840cee44f372bddb5880fcbc419b46a github.com/go-yaml/yaml"
+	"golang.org/x/crypto e1a4589e7d3ea14a3352255d04b6f1a418845e5e github.com/golang/crypto"
+	"golang.org/x/sys 493114f68206f85e7e333beccfabc11e98cba8dd github.com/golang/sys"
+	"golang.org/x/net 859d1a86bb617c0c20d154590c3c5d3fcb670b07 github.com/golang/net"
+	"google.golang.org/api 39c3dd417c5a443607650f18e829ad308da08dd2 github.com/google/google-api-go-client"
+	"google.golang.org/grpc 35170916ff58e89ae03f52e778228e18207e0e02 github.com/grpc/grpc-go"
+	"github.com/golang/protobuf 11b8df160996e00fd4b55cbaafb3d84ec6d50fa8"
+	"golang.org/x/oauth2 13449ad91cb26cb47661c1b080790392170385fd github.com/golang/oauth2"
+	"cloud.google.com/go 20d4028b8a750c2aca76bf9fefa8ed2d0109b573 github.com/GoogleCloudPlatform/gcloud-golang"
+	"golang.org/x/text ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49 github.com/golang/text"
+	"github.com/googleapis/gax-go 8c160ca1523d8eea3932fbaa494c8964b7724aa8"
+	"google.golang.org/genproto 595979c8a7bf586b2d293fb42246bf91a0b893d9 github.com/google/go-genproto"
+	)
+
+inherit user golang-build golang-vcs-snapshot
+EGIT_COMMIT="509a03a9622f460ded806a2c7b7b27717b3cb1f5"
+SHORT_COMMIT=${EGIT_COMMIT:0:7}
+SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
+	${EGO_VENDOR_URI}"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Docker Registry 2 authentication server"
+HOMEPAGE="https://github.com/cesanta/docker_auth"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RESTRICT="test"
+
+pkg_setup() {
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_prepare() {
+	default
+	pushd src/${EGO_PN}
+	eapply "${FILESDIR}/${PN}-ldap-group-support-2.patch"
+	cp "${FILESDIR}/version.go" auth_server/version.go || die
+	sed -i -e "s/{version}/${PV}/" -e "s/{build_id}/${SHORT_COMMIT}/" auth_server/version.go || die
+	popd || die
+}
+
+src_compile() {
+	pushd src/${EGO_PN}/auth_server || die
+	GOPATH="${WORKDIR}/${P}" go build -o "bin/auth_server" || die
+	popd || die
+}
+
+src_install() {
+	pushd src/${EGO_PN} || die
+	dodoc README.md docs/Backend_MongoDB.md
+	insinto /usr/share/${PF}
+	doins -r examples
+	insinto /etc/docker_auth/
+	newins examples/reference.yml config.yml.example
+	dobin auth_server/bin/auth_server
+	popd || die
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}.confd ${PN}
+	insinto /etc/logrotate.d
+	newins "${FILESDIR}"/${PN}.logrotated ${PN}
+	keepdir /var/log/docker_auth
+	fowners ${PN}:${PN} /var/log/docker_auth
+}

diff --git a/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch b/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch
new file mode 100644
index 00000000000..7c8bba4a80b
--- /dev/null
+++ b/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch
@@ -0,0 +1,427 @@
+From 2ee85ad8040bab72a929958b4c3c8037dbcd31ae Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Mon, 27 Feb 2017 19:09:52 +1300
+Subject: [PATCH 1/5] Initial proof of concept mapping memberOf CN to the label
+ groups #63
+
+(cherry picked from commit 4a33badac6b74617dfe3797a716a6907cf018b27)
+---
+ auth_server/authn/ldap_auth.go | 73 ++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 60 insertions(+), 13 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index a3425ed..5769057 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -17,7 +17,6 @@
+ package authn
+ 
+ import (
+-	"bytes"
+ 	"crypto/tls"
+ 	"crypto/x509"
+ 	"fmt"
+@@ -73,10 +72,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 	account = la.escapeAccountInput(account)
+ 
+ 	filter := la.getFilter(account)
+-	accountEntryDN, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &[]string{})
++
++	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
++	groupAttribute := "memberOf"
++	dnAndGroupAttr := []string{"DN", groupAttribute}
++
++	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
+ 	if uSearchErr != nil {
+ 		return false, nil, uSearchErr
+ 	}
++	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
++		return false, nil, NoMatch // User does not exist
++	}
++
++	accountEntryDN := entryAttrMap["DN"][0]
+ 	if accountEntryDN == "" {
+ 		return false, nil, NoMatch // User does not exist
+ 	}
+@@ -95,6 +104,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 		return false, nil, bindErr
+ 	}
+ 
++	// Extract group names from the attribute values
++	if entryAttrMap[groupAttribute] != nil {
++		rawGroups := entryAttrMap[groupAttribute]
++		labels := make(map[string][]string)
++		var groups []string
++		for _, value := range rawGroups {
++			cn := la.getCNFromDN(value)
++			groups = append(groups, cn)
++		}
++		labels["groups"] = groups
++
++		return true, labels, nil
++	}
++
+ 	return true, nil, nil
+ }
+ 
+@@ -185,9 +208,9 @@ func (la *LDAPAuth) getFilter(account string) string {
+ 
+ //ldap search and return required attributes' value from searched entries
+ //default return entry's DN value if you leave attrs array empty
+-func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, error) {
++func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
+ 	if l == nil {
+-		return "", fmt.Errorf("No ldap connection!")
++		return nil, fmt.Errorf("No ldap connection!")
+ 	}
+ 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
+ 	searchRequest := ldap.NewSearchRequest(
+@@ -198,30 +221,54 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
+ 		nil)
+ 	sr, err := l.Search(searchRequest)
+ 	if err != nil {
+-		return "", err
++		return nil, err
+ 	}
+ 
+ 	if len(sr.Entries) == 0 {
+-		return "", nil // User does not exist
++		return nil, nil // User does not exist
+ 	} else if len(sr.Entries) > 1 {
+-		return "", fmt.Errorf("Too many entries returned.")
++		return nil, fmt.Errorf("Too many entries returned.")
+ 	}
+ 
+-	var buffer bytes.Buffer
++	result := make(map[string][]string)
+ 	for _, entry := range sr.Entries {
++
+ 		if len(*attrs) == 0 {
+ 			glog.V(2).Infof("Entry DN = %s", entry.DN)
+-			buffer.WriteString(entry.DN)
++			result["DN"] = []string{entry.DN}
+ 		} else {
+ 			for _, attr := range *attrs {
+-				values := strings.Join(entry.GetAttributeValues(attr), " ")
+-				glog.V(2).Infof("Entry %s = %s", attr, values)
+-				buffer.WriteString(values)
++				var values []string
++				if attr == "DN" {
++					// DN is excluded from attributes
++					values = []string{entry.DN}
++				} else {
++					values = entry.GetAttributeValues(attr)
++				}
++				valuesString := strings.Join(values, "\n")
++				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
++				result[attr] = values
++			}
++		}
++	}
++
++	return result, nil
++}
++
++func (la *LDAPAuth) getCNFromDN(dn string) string {
++	parsedDN, err := ldap.ParseDN(dn)
++	if err != nil || len(parsedDN.RDNs) > 0 {
++		for _, rdn := range parsedDN.RDNs {
++			for _, rdnAttr := range rdn.Attributes {
++				if rdnAttr.Type == "CN" {
++					return rdnAttr.Value
++				}
+ 			}
+ 		}
+ 	}
+ 
+-	return buffer.String(), nil
++	// else try using raw DN
++	return dn
+ }
+ 
+ func (la *LDAPAuth) Stop() {
+
+From 3f5e1b78519238ca65e6084f48cbdd56531e4c84 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Tue, 28 Feb 2017 18:09:55 +1300
+Subject: [PATCH 2/5] Apply attribute mapping from configuration
+
+(cherry picked from commit ddde2fa779e746d7e74cd972a4c6795c72f17ee6)
+---
+ auth_server/authn/ldap_auth.go | 127 ++++++++++++++++++++++++-----------------
+ 1 file changed, 75 insertions(+), 52 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index 5769057..99c9146 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -27,17 +27,23 @@ import (
+ 	"github.com/cesanta/glog"
+ )
+ 
++type LabelMap struct {
++	Attribute string `yaml:"attribute,omitempty"`
++	ParseCN   bool   `yaml:"parse_cn,omitempty"`
++}
++
+ type LDAPAuthConfig struct {
+-	Addr                  string `yaml:"addr,omitempty"`
+-	TLS                   string `yaml:"tls,omitempty"`
+-	InsecureTLSSkipVerify bool   `yaml:"insecure_tls_skip_verify,omitempty"`
+-	CACertificate         string `yaml:"ca_certificate,omitempty"`
+-	Base                  string `yaml:"base,omitempty"`
+-	Filter                string `yaml:"filter,omitempty"`
+-	BindDN                string `yaml:"bind_dn,omitempty"`
+-	BindPasswordFile      string `yaml:"bind_password_file,omitempty"`
+-	GroupBaseDN           string `yaml:"group_base_dn,omitempty"`
+-	GroupFilter           string `yaml:"group_filter,omitempty"`
++	Addr                  string              `yaml:"addr,omitempty"`
++	TLS                   string              `yaml:"tls,omitempty"`
++	InsecureTLSSkipVerify bool                `yaml:"insecure_tls_skip_verify,omitempty"`
++	CACertificate         string              `yaml:"ca_certificate,omitempty"`
++	Base                  string              `yaml:"base,omitempty"`
++	Filter                string              `yaml:"filter,omitempty"`
++	BindDN                string              `yaml:"bind_dn,omitempty"`
++	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
++	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
++	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
++	GroupFilter           string              `yaml:"group_filter,omitempty"`
+ }
+ 
+ type LDAPAuth struct {
+@@ -73,22 +79,19 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 
+ 	filter := la.getFilter(account)
+ 
+-	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
+-	groupAttribute := "memberOf"
+-	dnAndGroupAttr := []string{"DN", groupAttribute}
++	labelAttributes, labelsConfigErr := la.getLabelAttributes()
++	if labelsConfigErr != nil {
++		return false, nil, labelsConfigErr
++	}
+ 
+-	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
++	accountEntryDN, entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &labelAttributes)
+ 	if uSearchErr != nil {
+ 		return false, nil, uSearchErr
+ 	}
+-	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
+-		return false, nil, NoMatch // User does not exist
+-	}
+-
+-	accountEntryDN := entryAttrMap["DN"][0]
+ 	if accountEntryDN == "" {
+ 		return false, nil, NoMatch // User does not exist
+ 	}
++
+ 	// Bind as the user to verify their password
+ 	if len(accountEntryDN) > 0 {
+ 		err := l.Bind(accountEntryDN, string(password))
+@@ -104,21 +107,13 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
+ 		return false, nil, bindErr
+ 	}
+ 
+-	// Extract group names from the attribute values
+-	if entryAttrMap[groupAttribute] != nil {
+-		rawGroups := entryAttrMap[groupAttribute]
+-		labels := make(map[string][]string)
+-		var groups []string
+-		for _, value := range rawGroups {
+-			cn := la.getCNFromDN(value)
+-			groups = append(groups, cn)
+-		}
+-		labels["groups"] = groups
+-
+-		return true, labels, nil
++	// Extract labels from the attribute values
++	labels, labelsExtractErr := la.getLabelsFromMap(entryAttrMap)
++	if labelsExtractErr != nil {
++		return false, nil, labelsExtractErr
+ 	}
+ 
+-	return true, nil, nil
++	return true, labels, nil
+ }
+ 
+ func (la *LDAPAuth) bindReadOnlyUser(l *ldap.Conn) error {
+@@ -208,9 +203,9 @@ func (la *LDAPAuth) getFilter(account string) string {
+ 
+ //ldap search and return required attributes' value from searched entries
+ //default return entry's DN value if you leave attrs array empty
+-func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
++func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, map[string][]string, error) {
+ 	if l == nil {
+-		return nil, fmt.Errorf("No ldap connection!")
++		return "", nil, fmt.Errorf("No ldap connection!")
+ 	}
+ 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
+ 	searchRequest := ldap.NewSearchRequest(
+@@ -221,38 +216,66 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
+ 		nil)
+ 	sr, err := l.Search(searchRequest)
+ 	if err != nil {
+-		return nil, err
++		return "", nil, err
+ 	}
+ 
+ 	if len(sr.Entries) == 0 {
+-		return nil, nil // User does not exist
++		return "", nil, nil // User does not exist
+ 	} else if len(sr.Entries) > 1 {
+-		return nil, fmt.Errorf("Too many entries returned.")
++		return "", nil, fmt.Errorf("Too many entries returned.")
+ 	}
+ 
+-	result := make(map[string][]string)
++	attributes := make(map[string][]string)
++	var entryDn string
+ 	for _, entry := range sr.Entries {
+-
++		entryDn = entry.DN
+ 		if len(*attrs) == 0 {
+-			glog.V(2).Infof("Entry DN = %s", entry.DN)
+-			result["DN"] = []string{entry.DN}
++			glog.V(2).Infof("Entry DN = %s", entryDn)
+ 		} else {
+ 			for _, attr := range *attrs {
+-				var values []string
+-				if attr == "DN" {
+-					// DN is excluded from attributes
+-					values = []string{entry.DN}
+-				} else {
+-					values = entry.GetAttributeValues(attr)
+-				}
+-				valuesString := strings.Join(values, "\n")
+-				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
+-				result[attr] = values
++				values := entry.GetAttributeValues(attr)
++				glog.V(2).Infof("Entry %s = %s", attr, strings.Join(values, "\n"))
++				attributes[attr] = values
+ 			}
+ 		}
+ 	}
+ 
+-	return result, nil
++	return entryDn, attributes, nil
++}
++
++func (la *LDAPAuth) getLabelAttributes() ([]string, error) {
++	labelAttributes := make([]string, len(la.config.LabelMaps))
++	i := 0
++	for key, mapping := range la.config.LabelMaps {
++		if mapping.Attribute == "" {
++			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
++		}
++		labelAttributes[i] = mapping.Attribute
++		i++
++	}
++	return labelAttributes, nil
++}
++
++func (la *LDAPAuth) getLabelsFromMap(attrMap map[string][]string) (map[string][]string, error) {
++	labels := make(map[string][]string)
++	for key, mapping := range la.config.LabelMaps {
++		if mapping.Attribute == "" {
++			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
++		}
++
++		mappingValues := attrMap[mapping.Attribute]
++		if mappingValues != nil {
++			if mapping.ParseCN {
++				// shorten attribute to its common name
++				for i, value := range mappingValues {
++					cn := la.getCNFromDN(value)
++					mappingValues[i] = cn
++				}
++			}
++			labels[key] = mappingValues
++		}
++	}
++	return labels, nil
+ }
+ 
+ func (la *LDAPAuth) getCNFromDN(dn string) string {
+
+From 98c4191ee4eae3e3e823c91226179c740e77f3a9 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Tue, 28 Feb 2017 18:27:16 +1300
+Subject: [PATCH 3/5] Remove unused configuration fields, never implemented?
+
+(cherry picked from commit cd37001980267a99a9faa19f1927891af63acb90)
+---
+ auth_server/authn/ldap_auth.go | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
+index 99c9146..1135dad 100644
+--- a/auth_server/authn/ldap_auth.go
++++ b/auth_server/authn/ldap_auth.go
+@@ -42,8 +42,6 @@ type LDAPAuthConfig struct {
+ 	BindDN                string              `yaml:"bind_dn,omitempty"`
+ 	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
+ 	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
+-	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
+-	GroupFilter           string              `yaml:"group_filter,omitempty"`
+ }
+ 
+ type LDAPAuth struct {
+
+From 1b5d134966c8bd1cba9afaeca284476e66a495e5 Mon Sep 17 00:00:00 2001
+From: Kevin <kcd83@users.noreply.github.com>
+Date: Fri, 1 Sep 2017 22:50:19 +1200
+Subject: [PATCH 4/5] Add LDAP label map examples to the reference config
+
+(cherry picked from commit 2fd43be4e5c2cfe177d9e1d36bcd1b29f4d6f262)
+---
+ examples/reference.yml | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/examples/reference.yml b/examples/reference.yml
+index 6ab4ba2..26182fd 100644
+--- a/examples/reference.yml
++++ b/examples/reference.yml
+@@ -140,6 +140,16 @@ ldap_auth:
+   # User query settings. ${account} is expanded from auth request 
+   base: o=example.com
+   filter: (&(uid=${account})(objectClass=person))
++  # Labels can be mapped from LDAP attributes
++  labels:
++    # Add the user's title to a label called title
++    title:
++      attribute: title
++    # Add the user's memberOf values to a label called groups
++    groups:
++      attribute: memberOf
++      # Special handling to simplify the values to just the common name
++      parse_cn: true
+ 
+ mongo_auth:
+   # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
+
+From 1bc75974e70ff7a84bdf3323889b81e44ea3dc00 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
+Date: Thu, 12 Apr 2018 15:00:51 +0200
+Subject: [PATCH 5/5] reference.yml: Add example ACL
+
+---
+ examples/reference.yml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/examples/reference.yml b/examples/reference.yml
+index 26182fd..4bdec24 100644
+--- a/examples/reference.yml
++++ b/examples/reference.yml
+@@ -263,6 +263,12 @@ acl:
+   - match: {name: "${labels:project}-{labels:tier}/*"}
+     actions: ["push", "pull"]
+     comment: "Users can push to a project-tier/* that they are assigned to"
++  - match: {labels: {"title": "Developer"}}
++    actions: ["*"]
++    comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
++  - match: {labels: {"groups": "Admin"}}
++    actions: ["push"]
++    comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
+   # Access is denied by default.
+ 
+ # (optional) Define to query ACL from a MongoDB server.


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-auth/docker_auth/, sys-auth/docker_auth/files/
@ 2022-02-21  4:26 William Hubbs
  0 siblings, 0 replies; 4+ messages in thread
From: William Hubbs @ 2022-02-21  4:26 UTC (permalink / raw
  To: gentoo-commits

commit:     94a11d058cbcb17b0632d860d13f2b16726becf2
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 21 04:25:10 2022 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Feb 21 04:26:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94a11d05

sys-auth/docker_auth: remove old versions

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 sys-auth/docker_auth/Manifest                      |  54 ---
 sys-auth/docker_auth/docker_auth-1.3.1.ebuild      |  88 -----
 sys-auth/docker_auth/docker_auth-1.4.0.ebuild      |  91 -----
 sys-auth/docker_auth/docker_auth-1.5.0.ebuild      | 236 ------------
 .../files/docker_auth-ldap-group-support-2.patch   | 427 ---------------------
 sys-auth/docker_auth/files/version.go              |   6 -
 6 files changed, 902 deletions(-)

diff --git a/sys-auth/docker_auth/Manifest b/sys-auth/docker_auth/Manifest
index cdb3db59484d..bd99398d8b8f 100644
--- a/sys-auth/docker_auth/Manifest
+++ b/sys-auth/docker_auth/Manifest
@@ -3,8 +3,6 @@ DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa62
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.3.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.3.zip 2259505 BLAKE2B 6e002164cce98a483d6da975028a5bc237302fc7e4d8be22164eb947f6c508ef377a8fd267394ec87381160f34c1f9a290509d04e65f91050f96199fbdd6df4f SHA512 e9553fc192eacfd6945296aee42aeb360d09415938663bbb71ad73673f5e338f209ca3c2009158d374866efd62d8ed7340a0fcfcec12d1fadeb09e9bd2f84d54
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c
 DIST cloud.google.com%2Fgo%2F@v%2Fv0.50.0.mod 1129 BLAKE2B 975226b22ad0291e83a5e47d901c79ac5a7c684010972581dc15f9713154141f3d6dd7231407255240620e29cbfeb877f05f5b5d388100a70d381f8f54f7db5f SHA512 70400a50eedc5305fef765d38f0428f636f439195d09cbb283ee7779b8aba1f881f83d894acbc6ee90ff016358aa9b117c79557da15d10fc60264eb36ed3fe3c
@@ -40,9 +38,6 @@ DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.mod 953 BLAKE2B c520f4cc8fbb6
 DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.6.0.mod 736 BLAKE2B 2337ea8dca35e9407e0b4fbb200e5465cf3338fe2eb3420444b1fa4805312f52cf9ade3e2e70d9dcc4973edcfcb1fe597d132032829133808c4842ad76f4c69b SHA512 e1e51b6a44ac17f31a09b6fefea0840fd92febeeaf97ef8ce960825473b5acbab5ade353f89d5d48b5a85ebf2b928f727ec9a3f58c8e39afbec4fbb9c22e44c0
 DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.8.0.mod 622 BLAKE2B 621e3faa3335ebec92c376298699510d800c2653c3680a438095c3dd9d6ba1f83f13a0302f316beea786b8f606ff3b4f62d21abe63d72f3f5c4e12fb81f61511 SHA512 409dad03104a4ac6b4a8c6da3540ab382345c86e48732f2b37d64ae2bc1c721d9f0a1ed0824a36085baa7102d2626e84f44706b16297623e8deb58fa9e24ba38
 DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1
-DIST docker_auth-1.3.1.tar.gz 49687 BLAKE2B 7c7c8235ad4eb139d1b964de3583a714040747b0823f33bd529469834c75539c583bdca56b0a6cbabeed4eb3435845f831f10a65ae2ef4a445b7b13d4a16695c SHA512 fe5a37a3975fe33c38db649be0560f87b8c179273bb3d2e044f2df3840e316f8a9f292a94ea601896cbe8c137560200be98628b873a0cd53b2d6b17c5164537d
-DIST docker_auth-1.4.0.tar.gz 54036 BLAKE2B ca7b8c229456bd878579ecf688484c80cc46b06beb95886d8652945742233f3a8214059da2363cf5c03462ee2b49f8c14dfc01a42496b6afed145a12687b9b1e SHA512 f20b3ee907c65053e1e873f96fd7ffdca09b43d625a1a429339d9bd20e7cbd662e5b5b1bdb44ca7e072f2b0097abefac4cf5682e71fca9a9ba92ca4ca567c33f
-DIST docker_auth-1.5.0.tar.gz 11690510 BLAKE2B 3838529e65a635ba9fe25f6594b2365c76b9c55d236a56dc1dc35c7b5793c33f6a6a29e98ec66843567e48e3aa3415d6dcba27896ac6f0800ae910f4987534d6 SHA512 746150bcf931e891984479dce33fea8c46e733be1951a4710acfdf2605e049431ef02098d19a58e80ac90769d6dcf8d554f9792bdb54ddb5aee863405e5da7bc
 DIST docker_auth-1.9.0.tar.gz 122606 BLAKE2B 29ce8fa1935e34eea1ed54b7656564ccf2803c1ded54e732b4f19966b46a69ad8f5224a17d85c6e7989feecb6724c04a21492473efa47ec08ae266c7fa8e74bd SHA512 be084d4b77b72c10a915950a7bc8bff39bed46edd68448337592650c5934fbaf1ec543e7eb27e8321bbb67302f96f60abe1ab3e151ce80adaa9667985425317b
 DIST gitea.com%2Fxorm%2Fsqlfiddle%2F@v%2Fv0.0.0-20180821085327-62ce714f951a.mod 32 BLAKE2B f8642321b7bc628249afed86330c26d7bf2642bf89e8e4a90ba4d167c720941425295c4275484dba8b9ee8e159b5b41ed42e5c786467b531aed674aace430123 SHA512 5a9fc75d767d45932dff07d59d7d43ca7795693ff2abca6655f27427ecc2028b141aafe9b770126ad602dce6edc0c17a3b1b62fb607e7611abdf0141a21a01e7
 DIST gitea.com%2Fxorm%2Fsqlfiddle%2F@v%2Fv0.0.0-20180821085327-62ce714f951a.zip 4314 BLAKE2B 842a65106f705edfe979408a0027d496738eb7fc8883658d05e0fb79e3de3132f638d5c78a18d843d83e5d369148215e27449c00fe39cb0fa82bbb439d6b71b2 SHA512 e718b14ef6d3fe70e3c602f88ccbb52ab0e9cc1122e9195c8c9d8b6a7027f219729b199c29b8586e435a929b16551ba0a60c4a8fc3e9f8503bb5728ab0a3ae7c
@@ -56,8 +51,6 @@ DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.16.zip 111695 BLAKE2B 8e2a00
 DIST github.com%2F!proton!mail%2Fgo-crypto%2F@v%2Fv0.0.0-20210428141323-04723f9f07d7.mod 112 BLAKE2B ef3083d3a65268fbd1db1c571a909b250b2b13dea588358f6b958e7ad1fdf1b4e4e9fb3f2494d4f6ba75d347b113a626f07b59dd1cfc72e0a9e37916dfb39a0f SHA512 67d2f173895329e13a7a17d91e95557b55b199c6d7df7466ca8395d4fcc4f6ad123cb798e01bc136b2b3bd2dd9229d3db43f01021b4d38695554fc8b01dbe545
 DIST github.com%2F!proton!mail%2Fgo-crypto%2F@v%2Fv0.0.0-20210428141323-04723f9f07d7.zip 352529 BLAKE2B 7ae3562dce4e7e42b3ab4673beb97c051131848365153b24ab544d4096d3b5ca508075412162bc8163bc6d6af2be1a7c79721d1d89fa0f6c6856d39c1a095081 SHA512 5bd2cb94e95f647d174e3b5b717ab2e90ee002e3b80a314330a3ac59e7f4975cd2d0a1211454e959e13694e472330a8e97e71a49666971c9c58cd2b5cc7d66f2
 DIST github.com%2F!puerkito!bio%2Fgoquery%2F@v%2Fv1.5.1.mod 153 BLAKE2B 95b3087015afb5ebdc5516ff2dac1bba30438f21bb191befa2a77ebc06843f35c92776b5a8f2d9f2155a3753ab029c55f970ef6777b56917b5726b18da69807d SHA512 e6a65896ed5e371605fa0099e81788157aebf0f392a4dc881176579f015cbccabdeab3971ff6d97051c4f4bd2c5c3ecd6d1be47dba1f97aba635ea9390ecba15
-DIST github.com%2Fa-urth%2Fgo-bindata%2F@v%2Fv0.0.0-20180209162145-df38da164efc.mod 36 BLAKE2B c9903c828fa195e9078116b6a51c46e6cb9ad1d04ac6cd5e3ad439166693ef17d9245a0507d379c27f766df4103a6c7c5b44544175ab88329c87bf08703a7171 SHA512 c34b986ca86420508e0a4bf62661c8a79e79faaa2780483bd339bc282d1ea2f7d8f251528ac0d9b2d4382654f19e7d8cd4b29dbab0100be2987803494a5a7f13
-DIST github.com%2Fa-urth%2Fgo-bindata%2F@v%2Fv0.0.0-20180209162145-df38da164efc.zip 42199 BLAKE2B 926fce26261f306e105e5e7132df943ee866cb72b654ca7166aea1e6a4939ed3995672566acaf1c98b35abb228f0295d353d0a147b25f18499a9cd43b0965f1f SHA512 0bc79a394285955db5534ed9e27ee035e1cd6c7e0df4df5b12a172f72ffab5c388504a16d9e4dffa1a6cd1347137d355d945639872d260cbcbd3fca575f4bfc0
 DIST github.com%2Facomagu%2Fbufpipe%2F@v%2Fv1.0.3.mod 81 BLAKE2B b9d0364caec6ea807b9f48e537449a6a180838279987aa116ee5446ca0cf36f06292939fa57d0241659ec6e704de0c4f0ea128bbcdbaf8219de3b01631222f98 SHA512 84db122ebd8fede77588babf51c240d68828a61eea0ff6405653ac06b922198a61e465e8314a23c3c3bb5dab553977c8ca80e791c92a6faa2fd6a9b01fa1c0ee
 DIST github.com%2Facomagu%2Fbufpipe%2F@v%2Fv1.0.3.zip 4586 BLAKE2B 28c7ad8fd8b56d54a71f04fadeeaa445bd4f23c91a3bc6dfb25a6ee6fba64821e917e710ff423c63667ce4a7010d3e53f3987f414ab381f5a186a6829e216471 SHA512 68dca922f4ca3a21fce77f48e346bdddf82906a3e5b2815e10c2a8960f578c540e53a37027808c24cf4773ac74ad49a4fd587a958b6722f5f2f5ac380b48106f
 DIST github.com%2Fandybalholm%2Fcascadia%2F@v%2Fv1.1.0.mod 104 BLAKE2B 4c31df7c74fd283936098d04af236f06cdf09c1049006e2b863c213c20c367810e3a1673591fe622924de7aa96aca4ec6209f2c85eec081c110c9b6baa344373 SHA512 c074ecf5b1d5c9d30a61c44b089b1fe635b70373d7eb1e81a1a2aaad6d31f6439f59207900a5f1256c4ac24999253658e8dbbda9daa448b666cff0eb1049b56c
@@ -83,8 +76,6 @@ DIST github.com%2Fcreack%2Fpty%2F@v%2Fv1.1.9.mod 39 BLAKE2B 71e70b038748ac196496
 DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
 DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
 DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdchest%2Funiuri%2F@v%2Fv0.0.0-20160212164326-8902c56451e9.mod 32 BLAKE2B c7f139be8b61e12e66d16d8e13c375f6b5b7483ac74969a25eec09678b4e34ce35ec0f60c379e50717354c38e91c0b64a619754952e6999ba3320f8f8665d27c SHA512 4c8f2e90de2395e7981f597807da70f56177a7ec86c61e1643876b9c9f3b2a6f6ebd828c46ea0789948c0b878d90af3a7c99abea4e2d423b898b09b0271a1f2b
-DIST github.com%2Fdchest%2Funiuri%2F@v%2Fv0.0.0-20160212164326-8902c56451e9.zip 4137 BLAKE2B cda60ebf53c8bd6c20c802d7f82f1a33954efae1673aa5f51ae26536cd07c777e5c8aab526785f104e2529a6b5588cf073ff689ab3482090e232faabf26522ce SHA512 7c042b61fc509327b4d7fde21d31ae89ef517f0d9debab35adadb3b2f90ae459e653f3ff87a59291e9c2ebd1f23b6dee694f2c673393c06af04f0fa20fd6cf1a
 DIST github.com%2Fdchest%2Funiuri%2F@v%2Fv0.0.0-20200228104902-7aecb25e1fe5.mod 32 BLAKE2B c7f139be8b61e12e66d16d8e13c375f6b5b7483ac74969a25eec09678b4e34ce35ec0f60c379e50717354c38e91c0b64a619754952e6999ba3320f8f8665d27c SHA512 4c8f2e90de2395e7981f597807da70f56177a7ec86c61e1643876b9c9f3b2a6f6ebd828c46ea0789948c0b878d90af3a7c99abea4e2d423b898b09b0271a1f2b
 DIST github.com%2Fdchest%2Funiuri%2F@v%2Fv0.0.0-20200228104902-7aecb25e1fe5.zip 7162 BLAKE2B bf3d28f56e61dcf37f3f0482a3bbdf08d34d7d669029a23b95faf821b5b9b9103176537d9e08b05a2f2ecb61b759365bdcdf41e7ee9031e4bad7715eef2d888f SHA512 9b4ceccc571220ed487bc764189db6dc0acf301adaffe6a751d7b60d7b99c5a172af56d8bfc74a306a917a3c78ca894f3658a18094b1b8a16b692637ad44024a
 DIST github.com%2Fdeckarep%2Fgolang-set%2F@v%2Fv1.7.1.mod 38 BLAKE2B 071cf2ecc3f925966c12ec1fed42ea8d513a28dac521c96044350d4b1b4641cad077ca4e45ec68f42ea6f3cb177e8323f2eb19b2c75d6d3329a765c2ecbf9ee5 SHA512 1c08e548e3de1bbfe1f6178abab9e7440f10d9f6988b46d18b111b6d2d86a079b296e8f30459054066584766d4d194069d4893a28d51386f476098b517add789
@@ -179,7 +170,6 @@ DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.4.4.zip 95367 BLAKE2B a94e0a99550bbf41
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.3.mod 43 BLAKE2B 1985b508a7ca5fbf7283bfe42510dd54e1e409894b4bf404c918943c8bbc38a3682d00322514c8fef7d6528059fc547534bd956fb262f91fc63dfd6e97fe0bcd SHA512 17d97ea39719fd59908591504c8df288f5914243fcc43a2cd8cba6c2c50fd6f5315b17afa008f92ecdbda732d5447f848d31bbbfe59ef9bec78aaa3f25f51833
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.4.mod 43 BLAKE2B 1985b508a7ca5fbf7283bfe42510dd54e1e409894b4bf404c918943c8bbc38a3682d00322514c8fef7d6528059fc547534bd956fb262f91fc63dfd6e97fe0bcd SHA512 17d97ea39719fd59908591504c8df288f5914243fcc43a2cd8cba6c2c50fd6f5315b17afa008f92ecdbda732d5447f848d31bbbfe59ef9bec78aaa3f25f51833
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.5.mod 42 BLAKE2B 5e9f93d89d4f9aa6ac98c9fcf3f44177e95f08fa3d86789f56b6c52afa19c663fb36ec477a04611be15f51e8862ba90641fef9bac7c09b1baa7321b71b5c31e6 SHA512 603005008f167e32ed8984657a85676cc140d57adf0177895f6f4282a301c7f1fa2d826abddc0c59c725c810cf2356c820ac7fd64c6ccb2be132bead79603090
@@ -193,7 +183,6 @@ DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.2.mod 124 BLAKE2B 3242575be48f0e
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.3.mod 124 BLAKE2B 3242575be48f0e1f74e2d0976d2a11f0edccc59c7b74cecde37233c19f97c51e576cd3032175cfad3c1ce9721cd41053f459341182fba836e0ff0456126e493e SHA512 9586be76b697c6a5c3216762ac13a7d297372ebe0c7ac5941d16c326d1580c8a73fb475236ed9a4214d158a7386e761877be16cdbd4ac2074e8a5e1dfdc95b54
 DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.3.zip 206951 BLAKE2B da403116137f70222d2028df84c6f872d324e6aef808ceb2f58dae257e9b7cd2fb37b477c2b61bda55888f5aa72fe6f46afc79ed4fb440f1212c5105f8b6dcc2 SHA512 8df603b906846c265342236e7bff8ad4f37fbac2ab425b6002201ec727602bc2454708985d44de11bd91212e15e338ce1942f33a3e38c328f2ab9e3b990a2ab5
 DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.zip 70555 BLAKE2B d83b37593eea44bbd11100af9c0c41bc2b55e14d06ef1fae1dce5242bf8cea1574c97a7148e7878385fd4bafbb433aa26fb4fcaa47e766353b2b6c179ddda124 SHA512 3ecebc76ab8e8f3cb65a95065639f3e90b5d722ba1aa564b42104e83ea4bd67af65e52c73a33b9b327b9934553f2c5b7324be8229f2c2e95c495065360a37c54
 DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.1.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
 DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.2.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
 DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.2.zip 79281 BLAKE2B 6b93c61a88217e741d528fec2b72b9ceef9ba4b46b7632e614dcbbd6ab2d9401dd9dc15452d2e241bdb0cf4f4727222a5de2364c6b4e612ebb98f37af8771551 SHA512 ab3279b64f02783ddba1b506a538eff97a97634bd8ae4ae61a508c98adc2accc9541d336508eb60d4bd6e8e18a5a335b384074378fd30c29ef6892ca242f9e8b
@@ -234,13 +223,10 @@ DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.2.mod 30 BLAKE2B 704029826c505198458
 DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
 DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19
 DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.zip 16077 BLAKE2B f05e4ad34d0ca2cf07ed10f5b4510f277fb4fe621523c213016171a42be56edc1b33185a93226b0d04ae6f629358603030083c7b5ba03a36fadf8349b0ebaa9f SHA512 240fccffe9eef7f5900b7e3add1fc95b45efbca63d6c09086ed4a0d4c50d470fddeb01672da067222c107b794c204f8da63c366782c52e7b7de6514c310bcb7d
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.3.mod 30 BLAKE2B e02807a9c1526691f789f8b176ad7757507d87fc5fe0d52b8997d72e9d528682a6fd10aea2426d11649c3caa7b6e4ae3c552e86fa30f3f710e6354caace3a88b SHA512 2facee17b28c8b9111ec642ffa0975e7f80601b4ffcc4d1756468e963236fc303cf69d3b5129287b746dc08a66fb719706bef277171b709a3013e6b4ce7e43c9
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.3.zip 54002 BLAKE2B 8f6fc685cc85f850ecc0b7dfd63c37a23dfb6d0b43107ac749365b10f254f8d6cbb16462848e317d91410af8524bbb1c7856eac54c7e94ab6a92d813434b9c40 SHA512 8f82d0b2d7e881b7533e6755448c01a8e32db5bd117d61afd9456387ec87761b58ffad050c4b5051ec4853096c0f11fcc5b87be21c4062ddb3d365e23405123c
 DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.8.0.mod 39 BLAKE2B ce025298653101cca2bccaa3f6797881c47f92443d0835d57c2900c62bb34a82d1399884826c863a7a51fbf731c1a8f836674f4416ec2364a20c690d788eaf14 SHA512 3398e8e140093ee9f7c27ce680fc141df5bbeacffb365a98b64898fb6b28cca8eadcbed1d593b90a101a1aede53a5602eb3455e4ec364ea4b76aa3ca043f68f8
 DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.8.0.zip 57100 BLAKE2B 002b1bb18bc81e6a124d511aaa6270763eef5c9af2117cec54f4dae6be22f0bd0de2594158484ae32933f24f1107f4bd490dec99f119a1c7d2cb2f722a9160c8 SHA512 d4bab61fba7c23094263e73459f6b4bd15bdbe02ef6349619cf89e1064a7d44c20534d6267034a0af4f2aa1a7aff0f02c35f424d25e6dc7c4d5e911e6e9fed32
 DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
 DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.zip 19548 BLAKE2B fe48c3db37bc280cf5f36e522f4b13f7daa45768cad11c1148634ce7af618c1c20f568f98ea7193b0be7021fe8a4d209a4a7f1c94be3c05924a36022a57c46b1 SHA512 6927a910a368e1f2b0792989858d25c5a55891082cc38f5907c539a35919916e02872619cbf45ed583c6f6f8e85936a3fa790a161b071dddc922383e983d37ee
 DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.mod 31 BLAKE2B 7202132cff9b47a4484c61586949dbf7e13622067675cdd09dace3ce2e5b3a37b6fc5275b3bd6dbb0ec6ca0335bb7c9a036cc043b2d8ff1f38bc90ce13041aec SHA512 54a5bbc02b82693a977a4f690314b16d94cf071decddee3a4af2a90398e626ff188bc34ab3517278e7aac4e657f3f3070a020c85274be3750371dfdeee139b23
 DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.zip 24894 BLAKE2B ab55c48bafc78202f2a0a494c6b00657dd81c078c0a23f797a59049e8ac59bc399f784ff81beb710aabd1d035e7ee3db5a4c90653d6e57dc3b3f0bcbd098fd39 SHA512 b77e39712e985744e277604bbbcd48f32d28ea69eac7a6b6cc0a3f8706e2970ccd5410761784b64eae73a07786cf81c665934c145369317b8b961b503582643a
 DIST github.com%2Fianlancetaylor%2Fdemangle%2F@v%2Fv0.0.0-20181102032728-5e5cf60278f6.mod 42 BLAKE2B a20b1ee1675ded231069e976e9e3812b116d80b207914ecd1266ce87160bd6fd3c0bdfd7f7afa4a2a4d7891a01cd7e4a7b7bcafa90ae31c5875f6b0eca00268b SHA512 ff238b036db5df69dc734f4a0db4d1fd1a94a04131d64ea20c5268078a645327527f185da4aab38b2aca60da8c6a5f8f118b660f5b0773cc76d7d108a47297c9
@@ -315,7 +301,6 @@ DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.1.0.zip 55374 BLAKE2B 39f93770143cb7
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.1.mod 337 BLAKE2B 41471db637c5c0363cd36be6d16a6228671ce9658ef71103ad2122a2cd8cfc13c30b87bf2b34df7ba9d6c1fff1ac821462fbb86b622c274cf26a1e3ecb7fd2e9 SHA512 29a4efc27c658b047fbfc6eb2ae311753b01fe878cc733e2fdfd83f5791b3e30ab50b08addd300dff37e7880f6b57662ac0cb0f4b98df2c5a5a9f7d555bc98a5
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.zip 58627 BLAKE2B f4276f0095188324c06e4412303ac19e3006b18823985e26ca49b2de54ef58cade626b3d2439f5f2a29c47618420b890951f94e5a4801dbaad4c3294f6555a4e SHA512 3bf6be07dd9a97bde938309857e16dc425587c100e35b2acd1a6f11a9ac196238b0844abbaded43fcc01be0664efa15b64f159f6259322043e3046e7d361dc20
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.7.0.mod 242 BLAKE2B 68986e3744d3ae593a16a24b6ce79876723d93cdf96c978c185b14e4fb8d73d379d4ba05e138b412973b465a76a98a458c6606137b0affdd085dbcf20851471e SHA512 ba06d3386a03812f2ce65f0597b932beb62b70b4da92974c5f5ed81c150fb71ce0285a2d9779ec8a40916870b0e4da5c2c8c5591c3687f3b8e829652a01ec1f6
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.7.0.zip 66939 BLAKE2B 20b3a98bf2aa70e3e1e923d1dab88b543c0a14377518497f960b5f89812f982cb09fe24158d117938c8b8f1da47ad29a330e82f5f952461cf4180fdf267aedd6 SHA512 5f7f556c264900b79a512f17005c7d3d3b1e5d26485002cfc828411e5b183b62d88cc4e3a4c0a352751ef9a561997903ea2ff4cbab419592afe0abd69977dfee
 DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.8.0.mod 276 BLAKE2B eacdb93cfb64d2562d3cf1f306d11259b50621e387043462f948b9fac90e02746e226326b285dce4f10ef08e47edb29d957745f0edb83cd8fa47e480ea78e78e SHA512 6b2ab274c5f68b4fcef11f4c066ca39a137241c1eb941563c8279e7086e9b070f3aee032eb21c1b5488b43dea2fa6a79eeddb15cc432b22a032de08bfc17797e
@@ -351,38 +336,10 @@ DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.1.27.mod 41 BLAKE2B 44917ea3a6fc5339
 DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.1.32.mod 41 BLAKE2B 44917ea3a6fc533933ccd76d1594e19246c682d96311e030eeeeaeac3c126f6cd2c2de67ca410c89738918c5ab0594f1e9b2c2202c48f462c368ad31fb5feff6 SHA512 b7d81f5cbf1b55ebebcbb86ae89899ffec6fcd730144f1719947a76080f587d298d0e37a073a8768d7768ef64fc47b1673104335203a32a557f31e42a4e5a950
 DIST github.com%2Fyuin%2Fgoldmark%2F@v%2Fv1.2.1.mod 41 BLAKE2B 44917ea3a6fc533933ccd76d1594e19246c682d96311e030eeeeaeac3c126f6cd2c2de67ca410c89738918c5ab0594f1e9b2c2202c48f462c368ad31fb5feff6 SHA512 b7d81f5cbf1b55ebebcbb86ae89899ffec6fcd730144f1719947a76080f587d298d0e37a073a8768d7768ef64fc47b1673104335203a32a557f31e42a4e5a950
 DIST github.com%2Fziutek%2Fmymysql%2F@v%2Fv1.5.4.mod 33 BLAKE2B 06075bbd3eb02ab2dd096de6cce4658000082d9afe5616c75d74b0dadf777263a3c914517bf0df87908d043370cd066c4a5c45b6843cf02bb3fd67928a8d5197 SHA512 cd6a60a15f71d86acc64da0657180522cc0cb7a6e43428e131241bcf791a9c73d6dd8813fb8dd5b3d8e9bf99ac9264b0519c796053a7d519bf66143e1b0643ac
-DIST github.com-GoogleCloudPlatform-gcloud-golang-20d4028b8a750c2aca76bf9fefa8ed2d0109b573.tar.gz 873021 BLAKE2B f6bd3a08081b7ddd9c61884ba3157654139c70982ffa7245ed988bb1f0fd80af98ccac556168e90ea871ccc0909d03e7f1ee7bcf7cbf2160bbf764e412d123ad SHA512 e98f269d70927bb59fee31059e2d24a5ba71837adbf1f6619b1d9df0a3ec11ef58a2bdf46de6dc45f9ee0a3985c37bc05004beac34b94bc790093aa1550c939a
-DIST github.com-cesanta-glog-22eb27a0ae192b290b25537b8e876556fc25129c.tar.gz 20273 BLAKE2B 982093a19a04611d3e1e9c06dd499fd7eb4730c49057e2c86042acecbf7f1920b6dd83133eb0ae07938ab995cbf809aa7d2236c67a805e3f16ff2c2535e2f66b SHA512 3c4b757fc0d0e45382b1ef0180eea2f0429e8c7ecac0089fca79bc717f6c0a04918b91a144ca78331178cc914b808b40596c6a6e214157d2f812858be31c13d6
-DIST github.com-dchest-uniuri-8902c56451e9b58ff940bbe5fec35d5f9c04584a.tar.gz 2471 BLAKE2B 9cc560893309347a9f012cdb32009bc7201511fa337339c8ced7c671e4b43100e36370dc71c47001e33e411b7707c30787a36e953fa5d15990a1f0edf38accc2 SHA512 70421b526e3040a49e63be6c892de2953b4f9ecdb01b148eb2bab3814f610a8c39bd98aad858cbaf9dcf621b52ee9ef952f0cdcdc6eca77da8ebf80dbbf1c04c
-DIST github.com-deckarep-golang-set-fc8930a5e645572ee00bf66358ed3414f3c13b90.tar.gz 11814 BLAKE2B b97651cfdd0b1c3f8ab10acabf4e7fdebee1955b8661e006e07c612dc1fd8026aa66c9bdf6d6a955bb459eb3e8668d4990e322245daf83dbd5474a4d160ff9ee SHA512 4ac5a5a8985e7bda13d272854f68ad41feb435ab2fb835ca47a63db49211311f502273355f2d9e0c4bd264d8cd6438d077f0eae7b0c6aecadde93c766bd69513
-DIST github.com-docker-distribution-0700fa570d7bcc1b3e46ee127c4489fd25f4daa3.tar.gz 1609656 BLAKE2B e0f795b2fb98cabe1b66209631536a8ff4c0104102dd9adb345a77fa67a7176f8de751a392665233d26c68b16ccff8553b03c9ca02e6c826477f6f5e604a9d4a SHA512 b155225d711c5bdca3246ad2a5cfd41a3cee9144cd30d90dde0407d3cc8c1aa20e6957016959424bd55e21b2a9332629a62294d09799ccb2626eb5136455e1b8
-DIST github.com-docker-libtrust-aabc10ec26b754e797f9028f4589c5b7bd90dc20.tar.gz 39352 BLAKE2B 53b93dacca792288423eda450d1b8dc898722d51e68ebfe111f7faad7a756da33f306e1838b74e1f56c40d6b2070721904ae3d51d2890daa76fce48a1cce3e22 SHA512 31d5a613807764c03d3356ee134bf384eca7953d4113e35d8fcce322611c25b444dd07904eb34c86c7e951529040c33fa821a56a687260e9298f900c7907e83b
-DIST github.com-facebookgo-clock-600d898af40aa09a7a93ecb9265d87b0504b6f03.tar.gz 6382 BLAKE2B 82a2c25a8608ffffd0540808f67536ff34f50f47a88262da72b3a6491231b987e9310c881fa431dd94fdaa94ee13f92f5b9ecc552f53ed4a2b678beda53d1d79 SHA512 023741d93573d53471d1ec10a47c2a0034ecd0e0db35440b50bc7085ddd94e9cd5d0388586a25b060b50a1b9e442d4974a931b3f5d14aa1710629f19ad4acf8f
-DIST github.com-facebookgo-httpdown-a3b1354551a26449fbe05f5d855937f6e7acbd71.tar.gz 9729 BLAKE2B a7698605af2d09d1d0a5cbecc2aaca826c822bcf9d48708b41a158f34248075b0270b2b368b24f26a9807eaaa4f9e80355f4f84aab4bdc4982a128b0652badd9 SHA512 1958e337e1fd896227dd4a2eb551ffe92ffe12a25acdc422ad14c6234eb5e080a6f537f73175c2246768978803edf5fd9425925880546746e996e51a232bc7bd
-DIST github.com-facebookgo-stats-1b76add642e42c6ffba7211ad7b3939ce654526e.tar.gz 5658 BLAKE2B 9f908cdb40ae3bba46ab89d559063a74c7eae698374ed82d840674a40c5a0bd7592c3431597ae67f2e6b6af54ced4ab5d57dbe0c37b06791a2d23a7e2a62ad67 SHA512 12a0b172c956592c7ea1db3a8a0bda5ba80b215d938ecee1c0fa492bd04f3f896efeadeac192c5d1d57031e10d5c95578e441cbba0df080f4c4a1852de7d36fe
-DIST github.com-fsnotify-fsnotify-629574ca2a5df945712d3079857300b5e4da0236.tar.gz 29588 BLAKE2B 618d962d3703c8bc9f94cc11fe97e827b12222c220445797710799b230705df0a708303dcccc9e40a2d851417f29f202a5b80874325c4c69b3ae53e94ffd433b SHA512 eaadede8a6fe231ea1f66755899891e288b5a69c2f74c1f11854b5060f471591f291a5394490a80864fc8d24181ada8a454c9b91ad04988021b5029298dd411b
-DIST github.com-go-asn1-ber-asn1-ber-4e86f4367175e39f69d9358a5f17b4dda270378d.tar.gz 12329 BLAKE2B 2863e7dc689c46de8bedba9216ef9a9489b81d267475891e6113438e17e272b04278d1c8199281af6a9daa9e9eaecbe8cf26f2c8b130906c9c9e62c12eb4b2d4 SHA512 fbba36ee6fd0d33558d4f13b6327a1385bde914c1c40954da19039bb55dc10d0166a1dd7a8650cb9776f2aad6f03ad110fd550a49e9c934446d23cd8eb3279fb
-DIST github.com-go-ldap-ldap-13cedcf58a1ea124045dea529a66c849d3444c8e.tar.gz 36378 BLAKE2B 0c125c1306e2d184e398d853cf454f8723520c2f5da33709bc3317776f1defeb51fdf1064a5e2f9714256a047e36292924b03245c2d962dca05f40e8f8a3b3e1 SHA512 3d4265b36e77b77357dd4f3f757bcdcb2dd4fc677ec83a33ee125d48ca19431075b0ab8087a4cb7d0a5027b1c2ea6ca516003c81b4d7df55de9c54ec6dc248fa
-DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 BLAKE2B 800038e0870d8b943604bc5edf9ba566d20fed75f445834801955a19da6add891f96cbf5e19a93d520d90ccc4e9da911ab02cccb710fee67b3fe60e4409a717f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845
-DIST github.com-go-yaml-yaml-a3f3340b5840cee44f372bddb5880fcbc419b46a.tar.gz 60814 BLAKE2B a77b7d72e2937af71a0734c21bee7a1d7770157c27f1ddfa164c66fd5461f86a2ef46e002087092ef011caae572838bcc9537a8290cd54dfafb7f54423e47c48 SHA512 184a0e658a4eac3b867533cd0e494bd84db94fbe10e8df0d0b755c7ffc95bc99e2f84c0157183ca74cdc79289a85dcf7f1dea8a4c89a253565baf473b3627eae
-DIST github.com-golang-crypto-e1a4589e7d3ea14a3352255d04b6f1a418845e5e.tar.gz 1336856 BLAKE2B 076239faa59c88b8eab873097dea87dd579a4bb65a6b3a9f19ddacc0a6c05dac2a17917547ef8fabb46fbc5b56262b81330fc1281fb42d72107bf6df69edfc2c SHA512 c22fc86fbc22d6ec8157f89c075f07db8b72bf63ff97e06c907f555bf865cb77414c4fa2b9974407e43fa4f74b77710d3be9d2646f929fcfd5269b0ffc379914
-DIST github.com-golang-net-859d1a86bb617c0c20d154590c3c5d3fcb670b07.tar.gz 920336 BLAKE2B 4a80a4cbf866ff64c699860bef3a971b6ba6bc002e85106e2268b494f40b8a87c61f923c70818e4dc59bf898986393a8c8e972c50152a3abc48545d780ee5474 SHA512 49ccb64c9b675460d12ea6d0456bb1124a92d56e70b04398d14b33dd5879c4e188dcc3e6c79c1aa6f491507f854911a9298fbc61aed60cbdab0205b6995bb4a3
-DIST github.com-golang-oauth2-13449ad91cb26cb47661c1b080790392170385fd.tar.gz 38610 BLAKE2B d966e904199bbaa5a566e1d042e6bcc29d91aa9ef812bff3d5f01dac69a51542d6a5cc8b68bdb7d7e986977a47b67d030014447d4b8a893a8ee07713db37abfd SHA512 9301e42d43ff421f85949b1fd7e60baa183842b0d128c0f4895708c30a91e4e614032a08dda03c2564b41251037c453f95aa21fe1876672e033c83890a96d660
-DIST github.com-golang-protobuf-11b8df160996e00fd4b55cbaafb3d84ec6d50fa8.tar.gz 267933 BLAKE2B be018eea3f65b35bea4f4d92c973370dfbdcb85151df40df7976ff6ea0186f90a62e42444f9e6e562a8615333f2798aafcaf40b9226861a5bb9f8844ee3dcd4e SHA512 7b6ac268d15fc5e2c07a22784565466abca6257deef90183bab45e1935c915dbebe5560e6583d76b2ba8b58fa22b0c07f5f512c188b6503ebbf47937f844afe9
-DIST github.com-golang-snappy-553a641470496b2327abcac10b36396bd98e45c9.tar.gz 62076 BLAKE2B 0c44cd5633864eb1aef91e83706c8d2e0469722603eea1969c4f38ad013dac411ce80ace29a89478f9027951a4e469fc442c60988a729f4efbf4caff2361c423 SHA512 a324c8a7687e820f6b322930a054d1e7fc4c37bb66a95d473ef2a67fed703de90e8cc3072273ad2f9c681b1cf7ec1acc0ee9dc735ab593e23eea5cde96eea8a6
-DIST github.com-golang-sys-493114f68206f85e7e333beccfabc11e98cba8dd.tar.gz 677040 BLAKE2B f5bee72793d743868e9b2f1ccad0470458e8506cd7090a8d9b69b5d8b510e32c6dc2f07e8a390bb118ab651a9366a6387a56f207b55111220d26a89b140c4984 SHA512 efebe04d03a37e06ddacc0bbb1c7c35ac6590dd1e2e4d8c3da38f36ecab53a2e488a8e042e7d39a14c1163bf033ebb42e72c4760a0d0acf3aae0ae3fb3355dbc
-DIST github.com-golang-text-ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49.tar.gz 4618514 BLAKE2B 6fea366f035d493281c00c45bc795faa549e361dafe799c02bdbc1bcb3fe0d012d76c6699f43e79c013774576bc5c6b57eb30e14c0c86acaefdb89eb898a6142 SHA512 d3231ceb80f5bb379bd6e9a717c1f16451dfd58f32de221020df5a92d3a686ca85b56120db88a93ac49e9a93aff472658c251de91c5fa6b5fe8d1d4b614dd615
-DIST github.com-google-go-genproto-595979c8a7bf586b2d293fb42246bf91a0b893d9.tar.gz 988349 BLAKE2B aee32d0d4139172442699412756f6429944b8ef2389e539d1717c4962642e3b63e3d725c28cc4c15189b4b1f286c7c93aee3fe190054b757b2362dea1463b925 SHA512 1cfcc16d9eb8d6414e943d7a62ea6606527b34135e8baa905f92e1e4f438f245d9cc4db9711c9b191b979bab6eef404adb84c2c85fd2af2c91bc0d8e89a7b1cf
-DIST github.com-google-google-api-go-client-39c3dd417c5a443607650f18e829ad308da08dd2.tar.gz 6388385 BLAKE2B 32a0337f4d105742571f76919f15e1c99df19c5bd9999e70dbf02e85713905ff8daecd80d51cebeba76d1af0757868929c502529a97fc7a983983555258c4ee7 SHA512 5d5d66abff2bad1a758e0a9cd9b12b9d9d2f02df8b9eb6ff0b38ae505808c1a6e78eb46ee0516b92ab04e1241aac827287b2dc050adf84c867168e0b441864ba
-DIST github.com-googleapis-gax-go-8c160ca1523d8eea3932fbaa494c8964b7724aa8.tar.gz 10165 BLAKE2B f128871caa8c5994caefbaffc48d1043130f31caf7dd25b322545280e3358ecd0f3cce65024083f56274631b2f69ac1bdc17cb572a5d5631179a529298cea70c SHA512 94f00cef5d586dc6b1893bcd1f6ccee22c13888859e4e2e87c9a0dd30ace0011be4e172a5346d22165f1a4b6e637070ad1da808dcc89103a0323094c09d76aa3
-DIST github.com-grpc-grpc-go-35170916ff58e89ae03f52e778228e18207e0e02.tar.gz 315740 BLAKE2B ff727e8165582175c800653909312aa189f9f5a8eff531a07e0e1befc8428972f2c55c13a8df23859e94780a07e0c222fc8777bc0aa5a6b8569b8e0d17697201 SHA512 8c30f7641cb2cbbf274af90579b5e60370e85b1052b6206d02a395d69aa9a545d66fdb732e7636e3b326451be0f88bbf180c690835b39adb4c63d1dd67fc8c6a
-DIST github.com-schwarmco-go-cartesian-product-c2c0aca869a6cbf51e017ce148b949d9dee09bc3.tar.gz 2433 BLAKE2B 104d5f15bfa0b6166b8269e2647b39c5889fb2ff706d5c2d2ba6328ff2292cb2896a9b1d0298c7d00d962dc18a254885e3fb3d6a2e442bea7f92044e9b1a89e3 SHA512 a1767b2c5c6340cb2649d63beac11571ec3c9b2c98011234d5a51eb337d221ea411e517660ae966fd4f582ffef18b088d7125d29ba271bece8b51254dcac940b
-DIST github.com-syndtr-goleveldb-3c5717caf1475fd25964109a0fc640bd150fce43.tar.gz 137276 BLAKE2B 6f74b19157edb319c01fc2a8ed682904ec12a52cb3995dddf06396fcb127e2ec3e433d723fa848744b74d09161edd50973f008c3a6b1458625f709ddc9ada93e SHA512 bac364a68737f5faed9ec052d47db01dc4aa0eca4ef786a43766b844ff27d8d9f87a94159a17c58745dd4ba002a9a83cd091ab2561a61d01b0a672a82002c1d4
 DIST go.mongodb.org%2Fmongo-driver%2F@v%2Fv1.7.1.mod 1016 BLAKE2B 5f69babf0f9cb0de16f1b5e998cfa230d2cbc652dae66fe96f130a24a68a413956a7452b6280200766dce019ab018da778512ef5999ef008bb1677cc88181623 SHA512 440e44f3ed0fd21995ce894bc7ba4f8a2639bf21a84054697f120b3b0fb428f0147fa4dd4bf8d7c4afdfdeb534291a210d832b5ec722b5cf1727a7912061fe18
 DIST go.mongodb.org%2Fmongo-driver%2F@v%2Fv1.7.1.zip 4820582 BLAKE2B a24e82955a82faf4475f82c5b5b89ce38a16aa8c94638a50bbef7d3ba085f1266b4c01bdb5a4e531c2bcfe53ffc322a89aedcd62fd9be579bb29808cec2b28cb SHA512 1ffa1e5909f6d48c3788436a85489471167c2f5a4801828823df5189e5c6466625b806873fe261d5775dcc99498fa4a937d43d3f5bb72ca742437eef81ddbd10
 DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8
 DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
-DIST go.opencensus.io%2F@v%2Fv0.22.0.zip 291484 BLAKE2B ca3bfc9c9864a2218ec373d78792ba0a40f4e2522bf3e0acd01b153eee43083cf8b124ae19b5fb0eaf7eef7cd59b2733b6c3ad847761518eeff2b183780c79cf SHA512 4fe718c3dd4c7bc0914b32844ae86ce281721f98b05797fb0a0fb51245129dfe1a74d2d04b419f4e0b7a31409b874e0e9d7939c8426af1efd92fdd5f12a52a98
 DIST go.opencensus.io%2F@v%2Fv0.22.2.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
 DIST go.opencensus.io%2F@v%2Fv0.22.3.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
 DIST go.opencensus.io%2F@v%2Fv0.22.4.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
@@ -396,8 +353,6 @@ DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190325154230-a5d413f7728c.mod 88 BL
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190422162423-af44ce270edf.mod 88 BLAKE2B 22568b660b7e13eed0dd423bfb6b033adf659a2c2b59c6ab12d707aca9f6f7317b7b438640caf6233dea4d9840aec4eb997eff5fcccbcdb193ba81db52d814d7 SHA512 fcfc8d63d333065f1193e9c27efe32a1fab270e450fbe1db533156e00427a13c75691163cd1bc7e9aa26b84d4142625c9fbd755535c575f83d63d82d7a276066
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190820162420-60c769a6c586.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190820162420-60c769a6c586.zip 1826082 BLAKE2B 2dfe94db073155037d35c92d9ca4aaa2aa6986529934ad1453eb543921dbed00b9f4b628c5c556342cdfc2aac1eb85fdd5eee5dcf2b9b6fe2e1a0e5baa7031ef SHA512 eac19a322c3eae4a80541780ab9be5c7ee68c47eb1be7b58a4e5db8280574f65f3055acfd2a72fb9db0ebffc459f27f3d6897cf3a605bba67b836f2582fe9551
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200302210943-78000ba7a073.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
 DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200622213623-75b288015ac9.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
@@ -455,8 +410,6 @@ DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAK
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190628185345-da137c7871d7.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190724013045-ca1201d0de80.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190813141303-74dc4d7220e7.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190813141303-74dc4d7220e7.zip 1422376 BLAKE2B 5995b3bf9ad143a950acb3ea20e416518d8f90fa1486416b23895f7e8f8decda87cea64757616d8df1390c714ea5a50f4b2a1d1e4338157867da72f72b4c3f65 SHA512 fe2575eb7f3ca98d19db88886f0812f46e93151037b1286a89e9da22ea8adf1d27ad9243848885e3d309830a3fbbbd40f343a9333ef4cc57e66311d61d8ab638
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200114155413-6afb5195e5aa.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
 DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200202094626-16171245cfb2.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
@@ -485,7 +438,6 @@ DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210326060303-6b1517762897.zip 1578318
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.zip 81912 BLAKE2B 647b2edcfc6109ea26a1844c259174eb37e3a97cbf12242716d4cc308b3918b5a0b104c9a5c2f3b4974bd94c28afa7ecaf40e71aae5fdd821cb1a5a15ec978e4 SHA512 62b95055b08c73a87c7ef69b2984eefd061e3f7d71eab8e05ce82a4ab1be2ce200aae7929da77a9ec49051b7c73bcc948fa4ee782afdfb8d74dc2d206636313b
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20191202225959-858c2ad4c8b6.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
 DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200902213428-5d25da1a8d43.mod 167 BLAKE2B 3b982295c2a92ffd5db60660c7558fbe2c133d1bcd654a697366b942fe40ca76f8ecc2acdad15215886792a61b941b2c49871f5659b31cc06aa6212a8eb91cf0 SHA512 0e23b4599eafa0468fd16b635497549e36a217e052244aa2cee251f7c432e7fd8f10b4aa60649f4695850e79f4206e6be7c386cebe4bbf7b85bf58a311aef732
@@ -520,7 +472,6 @@ DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190531175056-4c3a928424d2.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190606165138-5da285871e9c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.zip 1809154 BLAKE2B 63d29c0a89fdb5d1cfb9fa9f81ca75b0be518f63bddbb218581375ef651a30075e1c1a3ce46ee80dd2c3e2c25403d262bc2781f9b847db1a983db882d2ecfecf SHA512 868fa14dc95dd7381eeedd05c0026148afa4f85cd02e5ffe6f4a1e3315216378d0caef76124feb5e3d3ad2173217048d3c0b0285a032536a0a99dea47f0bfdf2
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190726091711-fc99dfbffb4e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190916202348-b4ddaad3f8a3.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
 DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191001151750-bb3f8db39f24.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
@@ -560,7 +511,6 @@ DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.0.0-20170915032832-14c0d48ead0c.mod 25 BLAK
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.4.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
 DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.5.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
@@ -645,7 +595,6 @@ DIST google.golang.org%2Fapi%2F@v%2Fv0.40.0.zip 19789188 BLAKE2B 8ad9b2182194ba9
 DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c
 DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
 DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
-DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.zip 13193468 BLAKE2B 26449251871cda35dedc488c3c8c8fc4dc14b1bf79dfa5160b44e6890d5b350111277b1791b18d91a42bd91b6f382baf3caf62584e41c4a928afe17d564e2e6a SHA512 85d4096a7d867d8f4bcc1b3cc582512d94c626023d8abd20ca343009e62b600150076f161f3582ec88c6263695fec0c11de69290a6c6cd04a177272740132be8
 DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
 DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
 DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
@@ -660,7 +609,6 @@ DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.zip 7369459 BLAKE2B b2d67d3c5ef4a437be866fb36150b0fec2a84c2c558368d7db02f1b3d18264e21fc30ce0ac0c17effd990e1c9b3dc76b2b8d0e225a0da43853b76a0531e44d7e SHA512 7bab15f784e42c4d6471b2f9ee7d902bc1f9fc39e29d609cbfcb597f8ed4aa5b2330e6022b795bdfd2ee630cf9f94361602404ecf82977c193c9e7ca8a87490a
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3
 DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
@@ -697,7 +645,6 @@ DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20210303154014-9728d6b83eeb.zip
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.zip 1027160 BLAKE2B 9cc654c2155c5306cbea34e57f9c6e527cd8504278921bb46186c9997a3dd15278a6cda877df9cdac8368a03dd793a071fdc55ab7591cb9d6bd26dcfbed469bd SHA512 8cd3c2d502dbf4955b29e3b0bc5439b7c9ea82c0bdbc2749bd378d5dd30eea81631dffb4aa3306ee4633b0c988f45e73103aeb5ef38d6cc63e6622886456fd06
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.25.1.mod 532 BLAKE2B 4c46c03905fc660d54c7acdb5cd614db9429b0e1add087fa5068f41a72d04b2f776e8326d1181e63ce29078f075d2312f9b0baeaeb048ea3d73f2fdba111e35d SHA512 0171fadf89079d7c0f18b1401aedfd886888d0a4ec4e107aec191c3875c640990532e1f57a3f5306a2e5705ddcf7e09ab2ce4953710347c09deb1d9d5f2d3c1f
 DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
@@ -745,7 +692,6 @@ DIST gopkg.in%2Fwarnings.v0%2F@v%2Fv0.1.2.mod 28 BLAKE2B 39555ca91c4818bcc1955c2
 DIST gopkg.in%2Fwarnings.v0%2F@v%2Fv0.1.2.zip 4950 BLAKE2B 35fad8c7c0a1de9e47bc540f34dd391c0284593466f5c99855fd204882e78cd06d0b32c144d689f516b4b8d23d90a11fd68e9dd0655a5d6dfd930300dc29c01c SHA512 d2be1d6e319c3114e44504d49c37da38c5f58ddde8b39f22e55134aff013447465d0f9354f2b899ffca4bf37bd597960860d16809ee427a0542d94b6b08cf2ba
 DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
 DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.zip 78275 BLAKE2B 139c8eb7c405dddbb67321eacd25c0af1e5b3f031831266abf6a8e5a5ed12f6381778868383c03433f8ef760d6b42ffbff40150f2fee91dedd0b312f9fe81c7f SHA512 3214b38f348921f6a6d9ef93d4337bb90abd0d101d69d16ad8e38415c22d3b9a85bda873df2eb7a271f9b973ef38b74731405e522e1bb8083c78932762cb5535
 DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
 DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.8.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
 DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.3.0.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379

diff --git a/sys-auth/docker_auth/docker_auth-1.3.1.ebuild b/sys-auth/docker_auth/docker_auth-1.3.1.ebuild
deleted file mode 100644
index 45b321b02a58..000000000000
--- a/sys-auth/docker_auth/docker_auth-1.3.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGO_PN="github.com/cesanta/docker_auth"
-
-EGO_VENDOR=(
-	"github.com/dchest/uniuri 8902c56451e9b58ff940bbe5fec35d5f9c04584a"
-	"github.com/deckarep/golang-set fc8930a5e645572ee00bf66358ed3414f3c13b90"
-	"github.com/docker/distribution 0700fa570d7bcc1b3e46ee127c4489fd25f4daa3"
-	"github.com/docker/libtrust aabc10ec26b754e797f9028f4589c5b7bd90dc20"
-	"github.com/facebookgo/httpdown a3b1354551a26449fbe05f5d855937f6e7acbd71"
-	"github.com/facebookgo/clock 600d898af40aa09a7a93ecb9265d87b0504b6f03"
-	"github.com/facebookgo/stats 1b76add642e42c6ffba7211ad7b3939ce654526e"
-	"github.com/go-ldap/ldap 13cedcf58a1ea124045dea529a66c849d3444c8e"
-	"github.com/cesanta/glog 22eb27a0ae192b290b25537b8e876556fc25129c"
-	"github.com/schwarmco/go-cartesian-product c2c0aca869a6cbf51e017ce148b949d9dee09bc3"
-	"github.com/syndtr/goleveldb 3c5717caf1475fd25964109a0fc640bd150fce43"
-	"github.com/golang/snappy 553a641470496b2327abcac10b36396bd98e45c9"
-	"gopkg.in/asn1-ber.v1 4e86f4367175e39f69d9358a5f17b4dda270378d github.com/go-asn1-ber/asn1-ber"
-	"gopkg.in/fsnotify.v1 629574ca2a5df945712d3079857300b5e4da0236 github.com/fsnotify/fsnotify"
-	"gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo"
-	"gopkg.in/yaml.v2 a3f3340b5840cee44f372bddb5880fcbc419b46a github.com/go-yaml/yaml"
-	"golang.org/x/crypto e1a4589e7d3ea14a3352255d04b6f1a418845e5e github.com/golang/crypto"
-	"golang.org/x/sys 493114f68206f85e7e333beccfabc11e98cba8dd github.com/golang/sys"
-	"golang.org/x/net 859d1a86bb617c0c20d154590c3c5d3fcb670b07 github.com/golang/net"
-	"google.golang.org/api 39c3dd417c5a443607650f18e829ad308da08dd2 github.com/google/google-api-go-client"
-	"google.golang.org/grpc 35170916ff58e89ae03f52e778228e18207e0e02 github.com/grpc/grpc-go"
-	"github.com/golang/protobuf 11b8df160996e00fd4b55cbaafb3d84ec6d50fa8"
-	"golang.org/x/oauth2 13449ad91cb26cb47661c1b080790392170385fd github.com/golang/oauth2"
-	"cloud.google.com/go 20d4028b8a750c2aca76bf9fefa8ed2d0109b573 github.com/GoogleCloudPlatform/gcloud-golang"
-	"golang.org/x/text ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49 github.com/golang/text"
-	"github.com/googleapis/gax-go 8c160ca1523d8eea3932fbaa494c8964b7724aa8"
-	"google.golang.org/genproto 595979c8a7bf586b2d293fb42246bf91a0b893d9 github.com/google/go-genproto"
-	)
-
-inherit user golang-build golang-vcs-snapshot
-EGIT_COMMIT="509a03a9622f460ded806a2c7b7b27717b3cb1f5"
-SHORT_COMMIT=${EGIT_COMMIT:0:7}
-SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
-	${EGO_VENDOR_URI}"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Docker Registry 2 authentication server"
-HOMEPAGE="https://github.com/cesanta/docker_auth"
-
-LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT ZLIB"
-SLOT="0"
-IUSE=""
-
-RESTRICT="test"
-
-pkg_setup() {
-	enewgroup ${PN}
-	enewuser ${PN} -1 -1 /dev/null ${PN}
-}
-
-src_prepare() {
-	default
-	pushd src/${EGO_PN}
-	eapply "${FILESDIR}/${PN}-ldap-group-support-2.patch"
-	cp "${FILESDIR}/version.go" auth_server/version.go || die
-	sed -i -e "s/{version}/${PV}/" -e "s/{build_id}/${SHORT_COMMIT}/" auth_server/version.go || die
-	popd || die
-}
-
-src_compile() {
-	pushd src/${EGO_PN}/auth_server || die
-	GOPATH="${WORKDIR}/${P}" go build -o "bin/auth_server" || die
-	popd || die
-}
-
-src_install() {
-	pushd src/${EGO_PN} || die
-	dodoc README.md docs/Backend_MongoDB.md
-	insinto /usr/share/${PF}
-	doins -r examples
-	insinto /etc/docker_auth/
-	newins examples/reference.yml config.yml.example
-	dobin auth_server/bin/auth_server
-	popd || die
-	newinitd "${FILESDIR}"/${PN}.initd ${PN}
-	newconfd "${FILESDIR}"/${PN}.confd ${PN}
-	insinto /etc/logrotate.d
-	newins "${FILESDIR}"/${PN}.logrotated ${PN}
-	keepdir /var/log/docker_auth
-	fowners ${PN}:${PN} /var/log/docker_auth
-}

diff --git a/sys-auth/docker_auth/docker_auth-1.4.0.ebuild b/sys-auth/docker_auth/docker_auth-1.4.0.ebuild
deleted file mode 100644
index a4d41f0d02b3..000000000000
--- a/sys-auth/docker_auth/docker_auth-1.4.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGO_PN="github.com/cesanta/docker_auth"
-
-EGO_VENDOR=(
-	"github.com/dchest/uniuri 8902c56451e9b58ff940bbe5fec35d5f9c04584a"
-	"github.com/deckarep/golang-set fc8930a5e645572ee00bf66358ed3414f3c13b90"
-	"github.com/docker/distribution 0700fa570d7bcc1b3e46ee127c4489fd25f4daa3"
-	"github.com/docker/libtrust aabc10ec26b754e797f9028f4589c5b7bd90dc20"
-	"github.com/facebookgo/httpdown a3b1354551a26449fbe05f5d855937f6e7acbd71"
-	"github.com/facebookgo/clock 600d898af40aa09a7a93ecb9265d87b0504b6f03"
-	"github.com/facebookgo/stats 1b76add642e42c6ffba7211ad7b3939ce654526e"
-	"github.com/go-ldap/ldap 13cedcf58a1ea124045dea529a66c849d3444c8e"
-	"github.com/cesanta/glog 22eb27a0ae192b290b25537b8e876556fc25129c"
-	"github.com/schwarmco/go-cartesian-product c2c0aca869a6cbf51e017ce148b949d9dee09bc3"
-	"github.com/syndtr/goleveldb 3c5717caf1475fd25964109a0fc640bd150fce43"
-	"github.com/golang/snappy 553a641470496b2327abcac10b36396bd98e45c9"
-	"gopkg.in/asn1-ber.v1 4e86f4367175e39f69d9358a5f17b4dda270378d github.com/go-asn1-ber/asn1-ber"
-	"gopkg.in/fsnotify.v1 629574ca2a5df945712d3079857300b5e4da0236 github.com/fsnotify/fsnotify"
-	"gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo"
-	"gopkg.in/yaml.v2 a3f3340b5840cee44f372bddb5880fcbc419b46a github.com/go-yaml/yaml"
-	"golang.org/x/crypto e1a4589e7d3ea14a3352255d04b6f1a418845e5e github.com/golang/crypto"
-	"golang.org/x/sys 493114f68206f85e7e333beccfabc11e98cba8dd github.com/golang/sys"
-	"golang.org/x/net 859d1a86bb617c0c20d154590c3c5d3fcb670b07 github.com/golang/net"
-	"google.golang.org/api 39c3dd417c5a443607650f18e829ad308da08dd2 github.com/google/google-api-go-client"
-	"google.golang.org/grpc 35170916ff58e89ae03f52e778228e18207e0e02 github.com/grpc/grpc-go"
-	"github.com/golang/protobuf 11b8df160996e00fd4b55cbaafb3d84ec6d50fa8"
-	"golang.org/x/oauth2 13449ad91cb26cb47661c1b080790392170385fd github.com/golang/oauth2"
-	"cloud.google.com/go 20d4028b8a750c2aca76bf9fefa8ed2d0109b573 github.com/GoogleCloudPlatform/gcloud-golang"
-	"golang.org/x/text ab5ac5f9a8deb4855a60fab02bc61a4ec770bd49 github.com/golang/text"
-	"github.com/googleapis/gax-go 8c160ca1523d8eea3932fbaa494c8964b7724aa8"
-	"google.golang.org/genproto 595979c8a7bf586b2d293fb42246bf91a0b893d9 github.com/google/go-genproto"
-	)
-
-inherit user golang-build golang-vcs-snapshot
-EGIT_COMMIT="b89dec9a4f0098fb0f71d9b94e44d1710c1fe5cf"
-SHORT_COMMIT=${EGIT_COMMIT:0:7}
-SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
-	${EGO_VENDOR_URI}"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Docker Registry 2 authentication server"
-HOMEPAGE="https://github.com/cesanta/docker_auth"
-
-LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT ZLIB"
-SLOT="0"
-IUSE=""
-
-DEPEND="dev-go/go-bindata"
-
-RESTRICT="test"
-
-pkg_setup() {
-	enewgroup ${PN}
-	enewuser ${PN} -1 -1 /dev/null ${PN}
-}
-
-src_prepare() {
-	default
-	pushd src/${EGO_PN}
-	cp "${FILESDIR}/version.go" auth_server/version.go || die
-	sed -i -e "s/{version}/${PV}/" -e "s/{build_id}/${SHORT_COMMIT}/" auth_server/version.go || die
-	sed -i -e "/.*gen_version.py*/d" auth_server/main.go || die
-	popd || die
-}
-
-src_compile() {
-	pushd src/${EGO_PN}/auth_server || die
-	GOPATH="${WORKDIR}/${P}" emake generate
-	GOPATH="${WORKDIR}/${P}" go build -v -o "bin/auth_server" || die
-	popd || die
-}
-
-src_install() {
-	pushd src/${EGO_PN} || die
-	dodoc README.md docs/*
-	insinto /usr/share/${PF}
-	doins -r examples
-	insinto /etc/docker_auth/
-	newins examples/reference.yml config.yml.example
-	dobin auth_server/bin/auth_server
-	popd || die
-	newinitd "${FILESDIR}"/${PN}.initd ${PN}
-	newconfd "${FILESDIR}"/${PN}.confd ${PN}
-	insinto /etc/logrotate.d
-	newins "${FILESDIR}"/${PN}.logrotated ${PN}
-	keepdir /var/log/docker_auth
-	fowners ${PN}:${PN} /var/log/docker_auth
-}

diff --git a/sys-auth/docker_auth/docker_auth-1.5.0.ebuild b/sys-auth/docker_auth/docker_auth-1.5.0.ebuild
deleted file mode 100644
index 2f86764e689d..000000000000
--- a/sys-auth/docker_auth/docker_auth-1.5.0.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-EGIT_COMMIT=df57ccaa8701a527954bd2a813fedec1b7c86af0
-SHORT_COMMIT=${EGIT_COMMIT:0:7}
-
-DESCRIPTION="Docker Registry 2 authentication server"
-HOMEPAGE="https://github.com/cesanta/docker_auth"
-
-EGO_SUM=(
-	"cloud.google.com/go v0.26.0/go.mod"
-	"cloud.google.com/go v0.34.0/go.mod"
-	"cloud.google.com/go v0.38.0/go.mod"
-	"cloud.google.com/go v0.44.1/go.mod"
-	"cloud.google.com/go v0.44.3"
-	"cloud.google.com/go v0.44.3/go.mod"
-	"cloud.google.com/go/datastore v1.0.0/go.mod"
-	"github.com/BurntSushi/toml v0.3.1/go.mod"
-	"github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
-	"github.com/a-urth/go-bindata v0.0.0-20180209162145-df38da164efc"
-	"github.com/a-urth/go-bindata v0.0.0-20180209162145-df38da164efc/go.mod"
-	"github.com/cesanta/glog v0.0.0-20150527111657-22eb27a0ae19"
-	"github.com/cesanta/glog v0.0.0-20150527111657-22eb27a0ae19/go.mod"
-	"github.com/client9/misspell v0.3.4/go.mod"
-	"github.com/davecgh/go-spew v1.1.1/go.mod"
-	"github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9"
-	"github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod"
-	"github.com/deckarep/golang-set v1.7.1"
-	"github.com/deckarep/golang-set v1.7.1/go.mod"
-	"github.com/docker/distribution v2.7.1+incompatible"
-	"github.com/docker/distribution v2.7.1+incompatible/go.mod"
-	"github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7"
-	"github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod"
-	"github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a"
-	"github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a/go.mod"
-	"github.com/facebookgo/httpdown v0.0.0-20180706035922-5979d39b15c2"
-	"github.com/facebookgo/httpdown v0.0.0-20180706035922-5979d39b15c2/go.mod"
-	"github.com/facebookgo/stats v0.0.0-20151006221625-1b76add642e4"
-	"github.com/facebookgo/stats v0.0.0-20151006221625-1b76add642e4/go.mod"
-	"github.com/fsnotify/fsnotify v1.4.7/go.mod"
-	"github.com/go-ldap/ldap v3.0.3+incompatible"
-	"github.com/go-ldap/ldap v3.0.3+incompatible/go.mod"
-	"github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
-	"github.com/golang/mock v1.1.1/go.mod"
-	"github.com/golang/mock v1.2.0/go.mod"
-	"github.com/golang/mock v1.3.1/go.mod"
-	"github.com/golang/protobuf v1.2.0/go.mod"
-	"github.com/golang/protobuf v1.3.1/go.mod"
-	"github.com/golang/protobuf v1.3.2"
-	"github.com/golang/protobuf v1.3.2/go.mod"
-	"github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db"
-	"github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod"
-	"github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
-	"github.com/google/btree v1.0.0/go.mod"
-	"github.com/google/go-cmp v0.2.0/go.mod"
-	"github.com/google/go-cmp v0.3.0/go.mod"
-	"github.com/google/martian v2.1.0+incompatible/go.mod"
-	"github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
-	"github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
-	"github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
-	"github.com/googleapis/gax-go/v2 v2.0.5"
-	"github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
-	"github.com/gorilla/mux v1.7.3"
-	"github.com/gorilla/mux v1.7.3/go.mod"
-	"github.com/hashicorp/golang-lru v0.5.0/go.mod"
-	"github.com/hashicorp/golang-lru v0.5.1"
-	"github.com/hashicorp/golang-lru v0.5.1/go.mod"
-	"github.com/hpcloud/tail v1.0.0/go.mod"
-	"github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
-	"github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
-	"github.com/onsi/ginkgo v1.6.0/go.mod"
-	"github.com/onsi/ginkgo v1.7.0/go.mod"
-	"github.com/onsi/gomega v1.4.3/go.mod"
-	"github.com/pmezard/go-difflib v1.0.0/go.mod"
-	"github.com/schwarmco/go-cartesian-product v0.0.0-20180515110546-d5ee747a6dc9"
-	"github.com/schwarmco/go-cartesian-product v0.0.0-20180515110546-d5ee747a6dc9/go.mod"
-	"github.com/sirupsen/logrus v1.4.2"
-	"github.com/sirupsen/logrus v1.4.2/go.mod"
-	"github.com/stretchr/objx v0.1.1/go.mod"
-	"github.com/stretchr/testify v1.2.2/go.mod"
-	"github.com/syndtr/goleveldb v1.0.0"
-	"github.com/syndtr/goleveldb v1.0.0/go.mod"
-	"go.opencensus.io v0.21.0/go.mod"
-	"go.opencensus.io v0.22.0"
-	"go.opencensus.io v0.22.0/go.mod"
-	"golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
-	"golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
-	"golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586"
-	"golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod"
-	"golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
-	"golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
-	"golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
-	"golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
-	"golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
-	"golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
-	"golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
-	"golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
-	"golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
-	"golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
-	"golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
-	"golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
-	"golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
-	"golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
-	"golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
-	"golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
-	"golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
-	"golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
-	"golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
-	"golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
-	"golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7"
-	"golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod"
-	"golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
-	"golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
-	"golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45"
-	"golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
-	"golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
-	"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
-	"golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
-	"golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
-	"golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
-	"golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
-	"golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
-	"golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
-	"golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod"
-	"golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
-	"golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
-	"golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
-	"golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
-	"golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod"
-	"golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0"
-	"golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod"
-	"golang.org/x/text v0.3.0/go.mod"
-	"golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
-	"golang.org/x/text v0.3.2"
-	"golang.org/x/text v0.3.2/go.mod"
-	"golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
-	"golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
-	"golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
-	"golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
-	"golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
-	"golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
-	"golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
-	"golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
-	"golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
-	"golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
-	"golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
-	"golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
-	"google.golang.org/api v0.4.0/go.mod"
-	"google.golang.org/api v0.7.0/go.mod"
-	"google.golang.org/api v0.8.0/go.mod"
-	"google.golang.org/api v0.9.0"
-	"google.golang.org/api v0.9.0/go.mod"
-	"google.golang.org/appengine v1.1.0/go.mod"
-	"google.golang.org/appengine v1.4.0/go.mod"
-	"google.golang.org/appengine v1.5.0/go.mod"
-	"google.golang.org/appengine v1.6.1/go.mod"
-	"google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
-	"google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
-	"google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
-	"google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
-	"google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
-	"google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64"
-	"google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
-	"google.golang.org/grpc v1.19.0/go.mod"
-	"google.golang.org/grpc v1.20.1/go.mod"
-	"google.golang.org/grpc v1.21.1"
-	"google.golang.org/grpc v1.21.1/go.mod"
-	"gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d"
-	"gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod"
-	"gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
-	"gopkg.in/fsnotify.v1 v1.4.7"
-	"gopkg.in/fsnotify.v1 v1.4.7/go.mod"
-	"gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22"
-	"gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod"
-	"gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
-	"gopkg.in/yaml.v2 v2.2.1/go.mod"
-	"gopkg.in/yaml.v2 v2.2.2"
-	"gopkg.in/yaml.v2 v2.2.2/go.mod"
-	"honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
-	"honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
-	"honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
-	"rsc.io/binaryregexp v0.2.0/go.mod"
-	)
-go-module_set_globals
-SRC_URI="https://github.com/cesanta/docker_auth/archive/${PV}.tar.gz -> ${P}.tar.gz
-	${EGO_SUM_SRC_URI}"
-
-LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT ZLIB"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-BDEPEND="dev-go/go-bindata"
-COMMON_DEPEND="acct-group/docker_auth
-	acct-user/docker_auth"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-RESTRICT+=" test"
-
-src_prepare() {
-	default
-	cp "${FILESDIR}/version.go" auth_server/version.go || die
-	sed -i \
-		-e "s/{version}/${PV}/" \
-		-e "s/{build_id}/${SHORT_COMMIT}/" \
-		auth_server/version.go || die
-	sed -i \
-		-e "/.*gen_version.py*/d" \
-		auth_server/main.go || die
-}
-
-src_compile() {
-	pushd auth_server || die
-	emake generate
-	go build -v -o "bin/auth_server" || die
-	popd || die
-}
-
-src_install() {
-	dodoc README.md docs/*
-	insinto /usr/share/${PF}
-	doins -r examples
-	insinto /etc/docker_auth/
-	newins examples/reference.yml config.yml.example
-	dobin auth_server/bin/auth_server
-	newinitd "${FILESDIR}"/${PN}.initd ${PN}
-	newconfd "${FILESDIR}"/${PN}.confd ${PN}
-	insinto /etc/logrotate.d
-	newins "${FILESDIR}"/${PN}.logrotated ${PN}
-	keepdir /var/log/docker_auth
-	fowners ${PN}:${PN} /var/log/docker_auth
-}

diff --git a/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch b/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch
deleted file mode 100644
index 7c8bba4a80b2..000000000000
--- a/sys-auth/docker_auth/files/docker_auth-ldap-group-support-2.patch
+++ /dev/null
@@ -1,427 +0,0 @@
-From 2ee85ad8040bab72a929958b4c3c8037dbcd31ae Mon Sep 17 00:00:00 2001
-From: Kevin <kcd83@users.noreply.github.com>
-Date: Mon, 27 Feb 2017 19:09:52 +1300
-Subject: [PATCH 1/5] Initial proof of concept mapping memberOf CN to the label
- groups #63
-
-(cherry picked from commit 4a33badac6b74617dfe3797a716a6907cf018b27)
----
- auth_server/authn/ldap_auth.go | 73 ++++++++++++++++++++++++++++++++++--------
- 1 file changed, 60 insertions(+), 13 deletions(-)
-
-diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
-index a3425ed..5769057 100644
---- a/auth_server/authn/ldap_auth.go
-+++ b/auth_server/authn/ldap_auth.go
-@@ -17,7 +17,6 @@
- package authn
- 
- import (
--	"bytes"
- 	"crypto/tls"
- 	"crypto/x509"
- 	"fmt"
-@@ -73,10 +72,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
- 	account = la.escapeAccountInput(account)
- 
- 	filter := la.getFilter(account)
--	accountEntryDN, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &[]string{})
-+
-+	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
-+	groupAttribute := "memberOf"
-+	dnAndGroupAttr := []string{"DN", groupAttribute}
-+
-+	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
- 	if uSearchErr != nil {
- 		return false, nil, uSearchErr
- 	}
-+	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
-+		return false, nil, NoMatch // User does not exist
-+	}
-+
-+	accountEntryDN := entryAttrMap["DN"][0]
- 	if accountEntryDN == "" {
- 		return false, nil, NoMatch // User does not exist
- 	}
-@@ -95,6 +104,20 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
- 		return false, nil, bindErr
- 	}
- 
-+	// Extract group names from the attribute values
-+	if entryAttrMap[groupAttribute] != nil {
-+		rawGroups := entryAttrMap[groupAttribute]
-+		labels := make(map[string][]string)
-+		var groups []string
-+		for _, value := range rawGroups {
-+			cn := la.getCNFromDN(value)
-+			groups = append(groups, cn)
-+		}
-+		labels["groups"] = groups
-+
-+		return true, labels, nil
-+	}
-+
- 	return true, nil, nil
- }
- 
-@@ -185,9 +208,9 @@ func (la *LDAPAuth) getFilter(account string) string {
- 
- //ldap search and return required attributes' value from searched entries
- //default return entry's DN value if you leave attrs array empty
--func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, error) {
-+func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
- 	if l == nil {
--		return "", fmt.Errorf("No ldap connection!")
-+		return nil, fmt.Errorf("No ldap connection!")
- 	}
- 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
- 	searchRequest := ldap.NewSearchRequest(
-@@ -198,30 +221,54 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
- 		nil)
- 	sr, err := l.Search(searchRequest)
- 	if err != nil {
--		return "", err
-+		return nil, err
- 	}
- 
- 	if len(sr.Entries) == 0 {
--		return "", nil // User does not exist
-+		return nil, nil // User does not exist
- 	} else if len(sr.Entries) > 1 {
--		return "", fmt.Errorf("Too many entries returned.")
-+		return nil, fmt.Errorf("Too many entries returned.")
- 	}
- 
--	var buffer bytes.Buffer
-+	result := make(map[string][]string)
- 	for _, entry := range sr.Entries {
-+
- 		if len(*attrs) == 0 {
- 			glog.V(2).Infof("Entry DN = %s", entry.DN)
--			buffer.WriteString(entry.DN)
-+			result["DN"] = []string{entry.DN}
- 		} else {
- 			for _, attr := range *attrs {
--				values := strings.Join(entry.GetAttributeValues(attr), " ")
--				glog.V(2).Infof("Entry %s = %s", attr, values)
--				buffer.WriteString(values)
-+				var values []string
-+				if attr == "DN" {
-+					// DN is excluded from attributes
-+					values = []string{entry.DN}
-+				} else {
-+					values = entry.GetAttributeValues(attr)
-+				}
-+				valuesString := strings.Join(values, "\n")
-+				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
-+				result[attr] = values
-+			}
-+		}
-+	}
-+
-+	return result, nil
-+}
-+
-+func (la *LDAPAuth) getCNFromDN(dn string) string {
-+	parsedDN, err := ldap.ParseDN(dn)
-+	if err != nil || len(parsedDN.RDNs) > 0 {
-+		for _, rdn := range parsedDN.RDNs {
-+			for _, rdnAttr := range rdn.Attributes {
-+				if rdnAttr.Type == "CN" {
-+					return rdnAttr.Value
-+				}
- 			}
- 		}
- 	}
- 
--	return buffer.String(), nil
-+	// else try using raw DN
-+	return dn
- }
- 
- func (la *LDAPAuth) Stop() {
-
-From 3f5e1b78519238ca65e6084f48cbdd56531e4c84 Mon Sep 17 00:00:00 2001
-From: Kevin <kcd83@users.noreply.github.com>
-Date: Tue, 28 Feb 2017 18:09:55 +1300
-Subject: [PATCH 2/5] Apply attribute mapping from configuration
-
-(cherry picked from commit ddde2fa779e746d7e74cd972a4c6795c72f17ee6)
----
- auth_server/authn/ldap_auth.go | 127 ++++++++++++++++++++++++-----------------
- 1 file changed, 75 insertions(+), 52 deletions(-)
-
-diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
-index 5769057..99c9146 100644
---- a/auth_server/authn/ldap_auth.go
-+++ b/auth_server/authn/ldap_auth.go
-@@ -27,17 +27,23 @@ import (
- 	"github.com/cesanta/glog"
- )
- 
-+type LabelMap struct {
-+	Attribute string `yaml:"attribute,omitempty"`
-+	ParseCN   bool   `yaml:"parse_cn,omitempty"`
-+}
-+
- type LDAPAuthConfig struct {
--	Addr                  string `yaml:"addr,omitempty"`
--	TLS                   string `yaml:"tls,omitempty"`
--	InsecureTLSSkipVerify bool   `yaml:"insecure_tls_skip_verify,omitempty"`
--	CACertificate         string `yaml:"ca_certificate,omitempty"`
--	Base                  string `yaml:"base,omitempty"`
--	Filter                string `yaml:"filter,omitempty"`
--	BindDN                string `yaml:"bind_dn,omitempty"`
--	BindPasswordFile      string `yaml:"bind_password_file,omitempty"`
--	GroupBaseDN           string `yaml:"group_base_dn,omitempty"`
--	GroupFilter           string `yaml:"group_filter,omitempty"`
-+	Addr                  string              `yaml:"addr,omitempty"`
-+	TLS                   string              `yaml:"tls,omitempty"`
-+	InsecureTLSSkipVerify bool                `yaml:"insecure_tls_skip_verify,omitempty"`
-+	CACertificate         string              `yaml:"ca_certificate,omitempty"`
-+	Base                  string              `yaml:"base,omitempty"`
-+	Filter                string              `yaml:"filter,omitempty"`
-+	BindDN                string              `yaml:"bind_dn,omitempty"`
-+	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
-+	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
-+	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
-+	GroupFilter           string              `yaml:"group_filter,omitempty"`
- }
- 
- type LDAPAuth struct {
-@@ -73,22 +79,19 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
- 
- 	filter := la.getFilter(account)
- 
--	// dnAndGroupAttr := []string{"DN"} // example of no groups mapping attribute
--	groupAttribute := "memberOf"
--	dnAndGroupAttr := []string{"DN", groupAttribute}
-+	labelAttributes, labelsConfigErr := la.getLabelAttributes()
-+	if labelsConfigErr != nil {
-+		return false, nil, labelsConfigErr
-+	}
- 
--	entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &dnAndGroupAttr)
-+	accountEntryDN, entryAttrMap, uSearchErr := la.ldapSearch(l, &la.config.Base, &filter, &labelAttributes)
- 	if uSearchErr != nil {
- 		return false, nil, uSearchErr
- 	}
--	if len(entryAttrMap) < 1 || entryAttrMap["DN"] == nil || len(entryAttrMap["DN"]) != 1 {
--		return false, nil, NoMatch // User does not exist
--	}
--
--	accountEntryDN := entryAttrMap["DN"][0]
- 	if accountEntryDN == "" {
- 		return false, nil, NoMatch // User does not exist
- 	}
-+
- 	// Bind as the user to verify their password
- 	if len(accountEntryDN) > 0 {
- 		err := l.Bind(accountEntryDN, string(password))
-@@ -104,21 +107,13 @@ func (la *LDAPAuth) Authenticate(account string, password PasswordString) (bool,
- 		return false, nil, bindErr
- 	}
- 
--	// Extract group names from the attribute values
--	if entryAttrMap[groupAttribute] != nil {
--		rawGroups := entryAttrMap[groupAttribute]
--		labels := make(map[string][]string)
--		var groups []string
--		for _, value := range rawGroups {
--			cn := la.getCNFromDN(value)
--			groups = append(groups, cn)
--		}
--		labels["groups"] = groups
--
--		return true, labels, nil
-+	// Extract labels from the attribute values
-+	labels, labelsExtractErr := la.getLabelsFromMap(entryAttrMap)
-+	if labelsExtractErr != nil {
-+		return false, nil, labelsExtractErr
- 	}
- 
--	return true, nil, nil
-+	return true, labels, nil
- }
- 
- func (la *LDAPAuth) bindReadOnlyUser(l *ldap.Conn) error {
-@@ -208,9 +203,9 @@ func (la *LDAPAuth) getFilter(account string) string {
- 
- //ldap search and return required attributes' value from searched entries
- //default return entry's DN value if you leave attrs array empty
--func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (map[string][]string, error) {
-+func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, attrs *[]string) (string, map[string][]string, error) {
- 	if l == nil {
--		return nil, fmt.Errorf("No ldap connection!")
-+		return "", nil, fmt.Errorf("No ldap connection!")
- 	}
- 	glog.V(2).Infof("Searching...basedDN:%s, filter:%s", *baseDN, *filter)
- 	searchRequest := ldap.NewSearchRequest(
-@@ -221,38 +216,66 @@ func (la *LDAPAuth) ldapSearch(l *ldap.Conn, baseDN *string, filter *string, att
- 		nil)
- 	sr, err := l.Search(searchRequest)
- 	if err != nil {
--		return nil, err
-+		return "", nil, err
- 	}
- 
- 	if len(sr.Entries) == 0 {
--		return nil, nil // User does not exist
-+		return "", nil, nil // User does not exist
- 	} else if len(sr.Entries) > 1 {
--		return nil, fmt.Errorf("Too many entries returned.")
-+		return "", nil, fmt.Errorf("Too many entries returned.")
- 	}
- 
--	result := make(map[string][]string)
-+	attributes := make(map[string][]string)
-+	var entryDn string
- 	for _, entry := range sr.Entries {
--
-+		entryDn = entry.DN
- 		if len(*attrs) == 0 {
--			glog.V(2).Infof("Entry DN = %s", entry.DN)
--			result["DN"] = []string{entry.DN}
-+			glog.V(2).Infof("Entry DN = %s", entryDn)
- 		} else {
- 			for _, attr := range *attrs {
--				var values []string
--				if attr == "DN" {
--					// DN is excluded from attributes
--					values = []string{entry.DN}
--				} else {
--					values = entry.GetAttributeValues(attr)
--				}
--				valuesString := strings.Join(values, "\n")
--				glog.V(2).Infof("Entry %s = %s", attr, valuesString)
--				result[attr] = values
-+				values := entry.GetAttributeValues(attr)
-+				glog.V(2).Infof("Entry %s = %s", attr, strings.Join(values, "\n"))
-+				attributes[attr] = values
- 			}
- 		}
- 	}
- 
--	return result, nil
-+	return entryDn, attributes, nil
-+}
-+
-+func (la *LDAPAuth) getLabelAttributes() ([]string, error) {
-+	labelAttributes := make([]string, len(la.config.LabelMaps))
-+	i := 0
-+	for key, mapping := range la.config.LabelMaps {
-+		if mapping.Attribute == "" {
-+			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
-+		}
-+		labelAttributes[i] = mapping.Attribute
-+		i++
-+	}
-+	return labelAttributes, nil
-+}
-+
-+func (la *LDAPAuth) getLabelsFromMap(attrMap map[string][]string) (map[string][]string, error) {
-+	labels := make(map[string][]string)
-+	for key, mapping := range la.config.LabelMaps {
-+		if mapping.Attribute == "" {
-+			return nil, fmt.Errorf("Label %s is missing 'attribute' to map from", key)
-+		}
-+
-+		mappingValues := attrMap[mapping.Attribute]
-+		if mappingValues != nil {
-+			if mapping.ParseCN {
-+				// shorten attribute to its common name
-+				for i, value := range mappingValues {
-+					cn := la.getCNFromDN(value)
-+					mappingValues[i] = cn
-+				}
-+			}
-+			labels[key] = mappingValues
-+		}
-+	}
-+	return labels, nil
- }
- 
- func (la *LDAPAuth) getCNFromDN(dn string) string {
-
-From 98c4191ee4eae3e3e823c91226179c740e77f3a9 Mon Sep 17 00:00:00 2001
-From: Kevin <kcd83@users.noreply.github.com>
-Date: Tue, 28 Feb 2017 18:27:16 +1300
-Subject: [PATCH 3/5] Remove unused configuration fields, never implemented?
-
-(cherry picked from commit cd37001980267a99a9faa19f1927891af63acb90)
----
- auth_server/authn/ldap_auth.go | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/auth_server/authn/ldap_auth.go b/auth_server/authn/ldap_auth.go
-index 99c9146..1135dad 100644
---- a/auth_server/authn/ldap_auth.go
-+++ b/auth_server/authn/ldap_auth.go
-@@ -42,8 +42,6 @@ type LDAPAuthConfig struct {
- 	BindDN                string              `yaml:"bind_dn,omitempty"`
- 	BindPasswordFile      string              `yaml:"bind_password_file,omitempty"`
- 	LabelMaps             map[string]LabelMap `yaml:"labels,omitempty"`
--	GroupBaseDN           string              `yaml:"group_base_dn,omitempty"`
--	GroupFilter           string              `yaml:"group_filter,omitempty"`
- }
- 
- type LDAPAuth struct {
-
-From 1b5d134966c8bd1cba9afaeca284476e66a495e5 Mon Sep 17 00:00:00 2001
-From: Kevin <kcd83@users.noreply.github.com>
-Date: Fri, 1 Sep 2017 22:50:19 +1200
-Subject: [PATCH 4/5] Add LDAP label map examples to the reference config
-
-(cherry picked from commit 2fd43be4e5c2cfe177d9e1d36bcd1b29f4d6f262)
----
- examples/reference.yml | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/examples/reference.yml b/examples/reference.yml
-index 6ab4ba2..26182fd 100644
---- a/examples/reference.yml
-+++ b/examples/reference.yml
-@@ -140,6 +140,16 @@ ldap_auth:
-   # User query settings. ${account} is expanded from auth request 
-   base: o=example.com
-   filter: (&(uid=${account})(objectClass=person))
-+  # Labels can be mapped from LDAP attributes
-+  labels:
-+    # Add the user's title to a label called title
-+    title:
-+      attribute: title
-+    # Add the user's memberOf values to a label called groups
-+    groups:
-+      attribute: memberOf
-+      # Special handling to simplify the values to just the common name
-+      parse_cn: true
- 
- mongo_auth:
-   # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
-
-From 1bc75974e70ff7a84bdf3323889b81e44ea3dc00 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
-Date: Thu, 12 Apr 2018 15:00:51 +0200
-Subject: [PATCH 5/5] reference.yml: Add example ACL
-
----
- examples/reference.yml | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/examples/reference.yml b/examples/reference.yml
-index 26182fd..4bdec24 100644
---- a/examples/reference.yml
-+++ b/examples/reference.yml
-@@ -263,6 +263,12 @@ acl:
-   - match: {name: "${labels:project}-{labels:tier}/*"}
-     actions: ["push", "pull"]
-     comment: "Users can push to a project-tier/* that they are assigned to"
-+  - match: {labels: {"title": "Developer"}}
-+    actions: ["*"]
-+    comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
-+  - match: {labels: {"groups": "Admin"}}
-+    actions: ["push"]
-+    comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
-   # Access is denied by default.
- 
- # (optional) Define to query ACL from a MongoDB server.

diff --git a/sys-auth/docker_auth/files/version.go b/sys-auth/docker_auth/files/version.go
deleted file mode 100644
index 9c014db7f1f2..000000000000
--- a/sys-auth/docker_auth/files/version.go
+++ /dev/null
@@ -1,6 +0,0 @@
-package main
-
-const (
-	Version = "{version}"
-	BuildId = "{build_id}"
-)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-21  4:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-21  4:26 [gentoo-commits] repo/gentoo:master commit in: sys-auth/docker_auth/, sys-auth/docker_auth/files/ William Hubbs
  -- strict thread matches above, loose matches on Subject: below --
2018-04-12 13:19 Manuel Rüger
2017-09-15 12:34 Manuel Rüger
2017-07-16 13:15 Manuel Rüger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox