Merge pull request #1596 from dexidp/github-actions
Add github actions CI flow
This commit is contained in:
commit
64b269d1c1
2
.github/workflows/.editorconfig
vendored
Normal file
2
.github/workflows/.editorconfig
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[*.yml]
|
||||||
|
indent_size = 2
|
76
.github/workflows/ci.yml
vendored
Normal file
76
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-16.04
|
||||||
|
env:
|
||||||
|
GOFLAGS: -mod=readonly
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:10.8
|
||||||
|
ports:
|
||||||
|
- 5432
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
|
||||||
|
etcd:
|
||||||
|
image: gcr.io/etcd-development/etcd:v3.2.9
|
||||||
|
ports:
|
||||||
|
- 2379
|
||||||
|
env:
|
||||||
|
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
|
||||||
|
ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
|
||||||
|
options: --health-cmd "ETCDCTL_API=3 etcdctl --endpoints http://localhost:2379 endpoint health" --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
|
||||||
|
keystone:
|
||||||
|
image: openio/openstack-keystone:pike
|
||||||
|
ports:
|
||||||
|
- 5000
|
||||||
|
- 35357
|
||||||
|
options: --health-cmd "curl --fail http://localhost:5000/v3" --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v1
|
||||||
|
with:
|
||||||
|
go-version: 1.13
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
|
||||||
|
- name: Setup MySQL database
|
||||||
|
run: mysql -u root -proot -e 'CREATE DATABASE dex;'
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: make testall
|
||||||
|
env:
|
||||||
|
DEX_MYSQL_DATABASE: dex
|
||||||
|
DEX_MYSQL_USER: root
|
||||||
|
DEX_MYSQL_PASSWORD: root
|
||||||
|
DEX_MYSQL_HOST: 127.0.0.1
|
||||||
|
DEX_MYSQL_PORT: 3306
|
||||||
|
DEX_POSTGRES_DATABASE: postgres
|
||||||
|
DEX_POSTGRES_USER: postgres
|
||||||
|
DEX_POSTGRES_PASSWORD: postgres
|
||||||
|
DEX_POSTGRES_HOST: localhost
|
||||||
|
DEX_POSTGRES_PORT: ${{ job.services.postgres.ports[5432] }}
|
||||||
|
DEX_ETCD_ENDPOINTS: http://localhost:${{ job.services.etcd.ports[2379] }}
|
||||||
|
DEX_LDAP_TESTS: 1
|
||||||
|
DEX_KEYSTONE_URL: http://localhost:${{ job.services.keystone.ports[5000] }}
|
||||||
|
DEX_KEYSTONE_ADMIN_URL: http://localhost:${{ job.services.keystone.ports[35357] }}
|
||||||
|
DEX_KEYSTONE_ADMIN_USER: demo
|
||||||
|
DEX_KEYSTONE_ADMIN_PASS: DEMO_PASS
|
||||||
|
|
||||||
|
- name: Run Kubernetes tests
|
||||||
|
run: ./scripts/test-k8s.sh
|
||||||
|
|
||||||
|
# Ensure proto generation doesn't depend on external packages.
|
||||||
|
- name: Verify proto
|
||||||
|
run: make verify-proto
|
@ -1,20 +1,18 @@
|
|||||||
package ldap
|
package ldap
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/url"
|
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
|
||||||
"testing"
|
"testing"
|
||||||
"text/template"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/kylelemons/godebug/pretty"
|
"github.com/kylelemons/godebug/pretty"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
"github.com/testcontainers/testcontainers-go"
|
||||||
|
"github.com/testcontainers/testcontainers-go/wait"
|
||||||
|
|
||||||
"github.com/dexidp/dex/connector"
|
"github.com/dexidp/dex/connector"
|
||||||
)
|
)
|
||||||
@ -50,12 +48,6 @@ type subtest struct {
|
|||||||
|
|
||||||
func TestQuery(t *testing.T) {
|
func TestQuery(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -125,12 +117,6 @@ userpassword: bar
|
|||||||
|
|
||||||
func TestQueryWithEmailSuffix(t *testing.T) {
|
func TestQueryWithEmailSuffix(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -187,12 +173,6 @@ userpassword: bar
|
|||||||
|
|
||||||
func TestUserFilter(t *testing.T) {
|
func TestUserFilter(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=Seattle,dc=example,dc=org
|
dn: ou=Seattle,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: Seattle
|
ou: Seattle
|
||||||
@ -283,12 +263,6 @@ userpassword: bar
|
|||||||
|
|
||||||
func TestGroupQuery(t *testing.T) {
|
func TestGroupQuery(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -371,12 +345,6 @@ member: cn=jane,ou=People,dc=example,dc=org
|
|||||||
|
|
||||||
func TestGroupsOnUserEntity(t *testing.T) {
|
func TestGroupsOnUserEntity(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -468,12 +436,6 @@ gidNumber: 1002
|
|||||||
|
|
||||||
func TestGroupFilter(t *testing.T) {
|
func TestGroupFilter(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -574,12 +536,6 @@ member: cn=jane,ou=People,dc=example,dc=org
|
|||||||
|
|
||||||
func TestStartTLS(t *testing.T) {
|
func TestStartTLS(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -617,12 +573,6 @@ userpassword: foo
|
|||||||
|
|
||||||
func TestInsecureSkipVerify(t *testing.T) {
|
func TestInsecureSkipVerify(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -660,12 +610,6 @@ userpassword: foo
|
|||||||
|
|
||||||
func TestLDAPS(t *testing.T) {
|
func TestLDAPS(t *testing.T) {
|
||||||
schema := `
|
schema := `
|
||||||
dn: dc=example,dc=org
|
|
||||||
objectClass: dcObject
|
|
||||||
objectClass: organization
|
|
||||||
o: Example Company
|
|
||||||
dc: example
|
|
||||||
|
|
||||||
dn: ou=People,dc=example,dc=org
|
dn: ou=People,dc=example,dc=org
|
||||||
objectClass: organizationalUnit
|
objectClass: organizationalUnit
|
||||||
ou: People
|
ou: People
|
||||||
@ -729,8 +673,7 @@ func TestUsernamePrompt(t *testing.T) {
|
|||||||
// runTests runs a set of tests against an LDAP schema. It does this by
|
// runTests runs a set of tests against an LDAP schema. It does this by
|
||||||
// setting up an OpenLDAP server and injecting the provided scheme.
|
// setting up an OpenLDAP server and injecting the provided scheme.
|
||||||
//
|
//
|
||||||
// The tests require the slapd and ldapadd binaries available in the host
|
// The tests require Docker.
|
||||||
// machine's PATH.
|
|
||||||
//
|
//
|
||||||
// The DEX_LDAP_TESTS must be set to "1"
|
// The DEX_LDAP_TESTS must be set to "1"
|
||||||
func runTests(t *testing.T, schema string, connMethod connectionMethod, config *Config, tests []subtest) {
|
func runTests(t *testing.T, schema string, connMethod connectionMethod, config *Config, tests []subtest) {
|
||||||
@ -738,12 +681,6 @@ func runTests(t *testing.T, schema string, connMethod connectionMethod, config *
|
|||||||
t.Skipf("%s not set. Skipping test (run 'export %s=1' to run tests)", envVar, envVar)
|
t.Skipf("%s not set. Skipping test (run 'export %s=1' to run tests)", envVar, envVar)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, cmd := range []string{"slapd", "ldapadd"} {
|
|
||||||
if _, err := exec.LookPath(cmd); err != nil {
|
|
||||||
t.Errorf("%s not available", cmd)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
wd, err := os.Getwd()
|
wd, err := os.Getwd()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -755,100 +692,65 @@ func runTests(t *testing.T, schema string, connMethod connectionMethod, config *
|
|||||||
}
|
}
|
||||||
defer os.RemoveAll(tempDir)
|
defer os.RemoveAll(tempDir)
|
||||||
|
|
||||||
configBytes := new(bytes.Buffer)
|
schemaPath := filepath.Join(tempDir, "schema.ldif")
|
||||||
|
if err := ioutil.WriteFile(schemaPath, []byte(schema), 0777); err != nil {
|
||||||
data := tmplData{
|
|
||||||
TempDir: tempDir,
|
|
||||||
Includes: includes(t, wd),
|
|
||||||
}
|
|
||||||
data.TLSCertPath, data.TLSKeyPath = tlsAssets(t, wd)
|
|
||||||
|
|
||||||
if err := slapdConfigTmpl.Execute(configBytes, data); err != nil {
|
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
configPath := filepath.Join(tempDir, "ldap.conf")
|
req := testcontainers.ContainerRequest{
|
||||||
if err := ioutil.WriteFile(configPath, configBytes.Bytes(), 0644); err != nil {
|
Image: "osixia/openldap:1.3.0",
|
||||||
|
ExposedPorts: []string{"389/tcp", "636/tcp"},
|
||||||
|
Cmd: []string{"--copy-service"},
|
||||||
|
Env: map[string]string{
|
||||||
|
"LDAP_BASE_DN": "dc=example,dc=org",
|
||||||
|
"LDAP_TLS": "true",
|
||||||
|
"LDAP_TLS_VERIFY_CLIENT": "try",
|
||||||
|
},
|
||||||
|
BindMounts: map[string]string{
|
||||||
|
filepath.Join(wd, "testdata", "certs"): "/container/service/slapd/assets/certs",
|
||||||
|
schemaPath: "/container/service/slapd/assets/config/bootstrap/ldif/99-schema.ldif",
|
||||||
|
},
|
||||||
|
WaitingFor: wait.ForAll(
|
||||||
|
wait.ForLog("slapd starting").WithOccurrence(3).WithStartupTimeout(time.Minute),
|
||||||
|
wait.ForListeningPort("389/tcp"),
|
||||||
|
wait.ForListeningPort("636/tcp"),
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx := context.Background()
|
||||||
|
|
||||||
|
slapd, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{
|
||||||
|
ContainerRequest: req,
|
||||||
|
Started: true,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
if slapd != nil {
|
||||||
|
logs, err := slapd.Logs(ctx)
|
||||||
|
if err == nil {
|
||||||
|
defer logs.Close()
|
||||||
|
|
||||||
|
logLines, err := ioutil.ReadAll(logs)
|
||||||
|
if err != nil {
|
||||||
|
t.Log(string(logLines))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
schemaPath := filepath.Join(tempDir, "schema.ldap")
|
defer slapd.Terminate(ctx)
|
||||||
if err := ioutil.WriteFile(schemaPath, []byte(schema), 0644); err != nil {
|
|
||||||
|
ip, err := slapd.Host(ctx)
|
||||||
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
port, err := slapd.MappedPort(ctx, "389")
|
||||||
socketPath := url.QueryEscape(filepath.Join(tempDir, "ldap.unix"))
|
if err != nil {
|
||||||
|
|
||||||
slapdOut := new(bytes.Buffer)
|
|
||||||
|
|
||||||
cmd := exec.Command(
|
|
||||||
"slapd",
|
|
||||||
"-d", "any",
|
|
||||||
"-h", "ldap://localhost:10389/ ldaps://localhost:10636/ ldapi://"+socketPath,
|
|
||||||
"-f", configPath,
|
|
||||||
)
|
|
||||||
cmd.Stdout = slapdOut
|
|
||||||
cmd.Stderr = slapdOut
|
|
||||||
if err := cmd.Start(); err != nil {
|
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
tlsPort, err := slapd.MappedPort(ctx, "636")
|
||||||
var (
|
if err != nil {
|
||||||
// Wait group finishes once slapd has exited.
|
t.Fatal(err)
|
||||||
//
|
|
||||||
// Use a wait group because multiple goroutines can't listen on
|
|
||||||
// cmd.Wait(). It triggers the race detector.
|
|
||||||
wg = new(sync.WaitGroup)
|
|
||||||
// Ensure only one condition can set the slapdFailed boolean.
|
|
||||||
once = new(sync.Once)
|
|
||||||
slapdFailed bool
|
|
||||||
)
|
|
||||||
|
|
||||||
wg.Add(1)
|
|
||||||
go func() { cmd.Wait(); wg.Done() }()
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
if slapdFailed {
|
|
||||||
// If slapd exited before it was killed, print its logs.
|
|
||||||
t.Logf("%s\n", slapdOut)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
go func() {
|
|
||||||
wg.Wait()
|
|
||||||
once.Do(func() { slapdFailed = true })
|
|
||||||
}()
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
once.Do(func() { slapdFailed = false })
|
|
||||||
cmd.Process.Kill()
|
|
||||||
wg.Wait()
|
|
||||||
}()
|
|
||||||
|
|
||||||
// Try a few times to connect to the LDAP server. On slower machines
|
|
||||||
// it can take a while for it to come up.
|
|
||||||
connected := false
|
|
||||||
wait := 100 * time.Millisecond
|
|
||||||
for i := 0; i < 5; i++ {
|
|
||||||
time.Sleep(wait)
|
|
||||||
|
|
||||||
ldapadd := exec.Command(
|
|
||||||
"ldapadd", "-x",
|
|
||||||
"-D", "cn=admin,dc=example,dc=org",
|
|
||||||
"-w", "admin",
|
|
||||||
"-f", schemaPath,
|
|
||||||
"-H", "ldap://localhost:10389/",
|
|
||||||
)
|
|
||||||
if out, err := ldapadd.CombinedOutput(); err != nil {
|
|
||||||
t.Logf("ldapadd: %s", out)
|
|
||||||
wait = wait * 2 // backoff
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
connected = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if !connected {
|
|
||||||
t.Errorf("ldapadd command failed")
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shallow copy.
|
// Shallow copy.
|
||||||
@ -858,17 +760,17 @@ func runTests(t *testing.T, schema string, connMethod connectionMethod, config *
|
|||||||
// group search configuration.
|
// group search configuration.
|
||||||
switch connMethod {
|
switch connMethod {
|
||||||
case connectStartTLS:
|
case connectStartTLS:
|
||||||
c.Host = "localhost:10389"
|
c.Host = fmt.Sprintf("%s:%s", ip, port.Port())
|
||||||
c.RootCA = "testdata/ca.crt"
|
c.RootCA = "testdata/certs/ca.crt"
|
||||||
c.StartTLS = true
|
c.StartTLS = true
|
||||||
case connectLDAPS:
|
case connectLDAPS:
|
||||||
c.Host = "localhost:10636"
|
c.Host = fmt.Sprintf("%s:%s", ip, tlsPort.Port())
|
||||||
c.RootCA = "testdata/ca.crt"
|
c.RootCA = "testdata/certs/ca.crt"
|
||||||
case connectInsecureSkipVerify:
|
case connectInsecureSkipVerify:
|
||||||
c.Host = "localhost:10636"
|
c.Host = fmt.Sprintf("%s:%s", ip, tlsPort.Port())
|
||||||
c.InsecureSkipVerify = true
|
c.InsecureSkipVerify = true
|
||||||
case connectLDAP:
|
case connectLDAP:
|
||||||
c.Host = "localhost:10389"
|
c.Host = fmt.Sprintf("%s:%s", ip, port.Port())
|
||||||
c.InsecureNoSSL = true
|
c.InsecureNoSSL = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -934,98 +836,3 @@ func runTests(t *testing.T, schema string, connMethod connectionMethod, config *
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Standard OpenLDAP schema files to include.
|
|
||||||
//
|
|
||||||
// These are copied from the /etc/openldap/schema directory.
|
|
||||||
var includeFiles = []string{
|
|
||||||
"core.schema",
|
|
||||||
"cosine.schema",
|
|
||||||
"inetorgperson.schema",
|
|
||||||
"misc.schema",
|
|
||||||
"nis.schema",
|
|
||||||
"openldap.schema",
|
|
||||||
}
|
|
||||||
|
|
||||||
// tmplData is the struct used to execute the SLAPD config template.
|
|
||||||
type tmplData struct {
|
|
||||||
// Directory for database to be writen to.
|
|
||||||
TempDir string
|
|
||||||
// List of schema files to include.
|
|
||||||
Includes []string
|
|
||||||
// TLS assets for LDAPS.
|
|
||||||
TLSKeyPath string
|
|
||||||
TLSCertPath string
|
|
||||||
}
|
|
||||||
|
|
||||||
// Config template copied from:
|
|
||||||
// http://www.zytrax.com/books/ldap/ch5/index.html#step1-slapd
|
|
||||||
//
|
|
||||||
// TLS instructions found here:
|
|
||||||
// http://www.openldap.org/doc/admin24/tls.html
|
|
||||||
var slapdConfigTmpl = template.Must(template.New("").Parse(`
|
|
||||||
{{ range $i, $include := .Includes }}
|
|
||||||
include {{ $include }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
# MODULELOAD definitions
|
|
||||||
# not required (comment out) before version 2.3
|
|
||||||
moduleload back_bdb.la
|
|
||||||
|
|
||||||
database bdb
|
|
||||||
suffix "dc=example,dc=org"
|
|
||||||
|
|
||||||
# root or superuser
|
|
||||||
rootdn "cn=admin,dc=example,dc=org"
|
|
||||||
rootpw admin
|
|
||||||
# The database directory MUST exist prior to running slapd AND
|
|
||||||
# change path as necessary
|
|
||||||
directory {{ .TempDir }}
|
|
||||||
|
|
||||||
TLSCertificateFile {{ .TLSCertPath }}
|
|
||||||
TLSCertificateKeyFile {{ .TLSKeyPath }}
|
|
||||||
|
|
||||||
# Indices to maintain for this directory
|
|
||||||
# unique id so equality match only
|
|
||||||
index uid eq
|
|
||||||
# allows general searching on commonname, givenname and email
|
|
||||||
index cn,gn,mail eq,sub
|
|
||||||
# allows multiple variants on surname searching
|
|
||||||
index sn eq,sub
|
|
||||||
# sub above includes subintial,subany,subfinal
|
|
||||||
# optimise department searches
|
|
||||||
index ou eq
|
|
||||||
# if searches will include objectClass uncomment following
|
|
||||||
# index objectClass eq
|
|
||||||
# shows use of default index parameter
|
|
||||||
index default eq,sub
|
|
||||||
# indices missing - uses default eq,sub
|
|
||||||
index telephonenumber
|
|
||||||
|
|
||||||
# other database parameters
|
|
||||||
# read more in slapd.conf reference section
|
|
||||||
cachesize 10000
|
|
||||||
checkpoint 128 15
|
|
||||||
`))
|
|
||||||
|
|
||||||
func tlsAssets(t *testing.T, wd string) (certPath, keyPath string) {
|
|
||||||
certPath = filepath.Join(wd, "testdata", "server.crt")
|
|
||||||
keyPath = filepath.Join(wd, "testdata", "server.key")
|
|
||||||
for _, p := range []string{certPath, keyPath} {
|
|
||||||
if _, err := os.Stat(p); err != nil {
|
|
||||||
t.Fatalf("failed to find TLS asset file: %s %v", p, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func includes(t *testing.T, wd string) (paths []string) {
|
|
||||||
for _, f := range includeFiles {
|
|
||||||
p := filepath.Join(wd, "testdata", f)
|
|
||||||
if _, err := os.Stat(p); err != nil {
|
|
||||||
t.Fatalf("failed to find schema file: %s %v", p, err)
|
|
||||||
}
|
|
||||||
paths = append(paths, p)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
8
connector/ldap/testdata/certs/dhparam.pem
vendored
Normal file
8
connector/ldap/testdata/certs/dhparam.pem
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
-----BEGIN DH PARAMETERS-----
|
||||||
|
MIIBCAKCAQEAx5y2viJKOAAcDYSj55odZsbA7dkSQ9afEPd9uaCLOvRYKLJY1S1V
|
||||||
|
C4m1eVfna8JndSLdsBGDQe4BlBTkEYMYR8CJHtUuBxeAucOH8KlF8rIHXXi71oex
|
||||||
|
T7kPtJEDINQKOn06bHqNcn0a7ZMWP8jiQ708OYr5P+1T/N82QTAFpDuqK42ZnBqf
|
||||||
|
8qzQkkTN0UCktY2EWnFTbNIXcMKWQnYP8zt/CG3Q31b2bnQt2iLEa/DIF7RLNjfx
|
||||||
|
9wPQBBAqgWbLmWfdPpHsAPtQxtItb+GRbPs3aLm06CFKlQuteDoP+suo0EtglHcV
|
||||||
|
V9Ynvdz0cdJCJ7EPyET6CtLMzc/Puup/AwIBAg==
|
||||||
|
-----END DH PARAMETERS-----
|
610
connector/ldap/testdata/core.schema
vendored
610
connector/ldap/testdata/core.schema
vendored
@ -1,610 +0,0 @@
|
|||||||
# OpenLDAP Core schema
|
|
||||||
# $OpenLDAP$
|
|
||||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
||||||
##
|
|
||||||
## Copyright 1998-2016 The OpenLDAP Foundation.
|
|
||||||
## All rights reserved.
|
|
||||||
##
|
|
||||||
## Redistribution and use in source and binary forms, with or without
|
|
||||||
## modification, are permitted only as authorized by the OpenLDAP
|
|
||||||
## Public License.
|
|
||||||
##
|
|
||||||
## A copy of this license is available in the file LICENSE in the
|
|
||||||
## top-level directory of the distribution or, alternatively, at
|
|
||||||
## <http://www.OpenLDAP.org/license.html>.
|
|
||||||
#
|
|
||||||
## Portions Copyright (C) The Internet Society (1997-2006).
|
|
||||||
## All Rights Reserved.
|
|
||||||
##
|
|
||||||
## This document and translations of it may be copied and furnished to
|
|
||||||
## others, and derivative works that comment on or otherwise explain it
|
|
||||||
## or assist in its implementation may be prepared, copied, published
|
|
||||||
## and distributed, in whole or in part, without restriction of any
|
|
||||||
## kind, provided that the above copyright notice and this paragraph are
|
|
||||||
## included on all such copies and derivative works. However, this
|
|
||||||
## document itself may not be modified in any way, such as by removing
|
|
||||||
## the copyright notice or references to the Internet Society or other
|
|
||||||
## Internet organizations, except as needed for the purpose of
|
|
||||||
## developing Internet standards in which case the procedures for
|
|
||||||
## copyrights defined in the Internet Standards process must be
|
|
||||||
## followed, or as required to translate it into languages other than
|
|
||||||
## English.
|
|
||||||
##
|
|
||||||
## The limited permissions granted above are perpetual and will not be
|
|
||||||
## revoked by the Internet Society or its successors or assigns.
|
|
||||||
##
|
|
||||||
## This document and the information contained herein is provided on an
|
|
||||||
## "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
|
||||||
## TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
|
||||||
## BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
|
||||||
## HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
|
||||||
## MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Includes LDAPv3 schema items from:
|
|
||||||
# RFC 2252/2256 (LDAPv3)
|
|
||||||
#
|
|
||||||
# Select standard track schema items:
|
|
||||||
# RFC 1274 (uid/dc)
|
|
||||||
# RFC 2079 (URI)
|
|
||||||
# RFC 2247 (dc/dcObject)
|
|
||||||
# RFC 2587 (PKI)
|
|
||||||
# RFC 2589 (Dynamic Directory Services)
|
|
||||||
# RFC 4524 (associatedDomain)
|
|
||||||
#
|
|
||||||
# Select informational schema items:
|
|
||||||
# RFC 2377 (uidObject)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Standard attribute types from RFC 2256
|
|
||||||
#
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.0 NAME 'objectClass'
|
|
||||||
# DESC 'RFC2256: object classes of the entity'
|
|
||||||
# EQUALITY objectIdentifierMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.1 NAME ( 'aliasedObjectName' 'aliasedEntryName' )
|
|
||||||
# DESC 'RFC2256: name of aliased object'
|
|
||||||
# EQUALITY distinguishedNameMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.2 NAME 'knowledgeInformation'
|
|
||||||
DESC 'RFC2256: knowledge information'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.3 NAME ( 'cn' 'commonName' )
|
|
||||||
# DESC 'RFC2256: common name(s) for which the entity is known by'
|
|
||||||
# SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.4 NAME ( 'sn' 'surname' )
|
|
||||||
DESC 'RFC2256: last (family) name(s) for which the entity is known by'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.5 NAME 'serialNumber'
|
|
||||||
DESC 'RFC2256: serial number of the entity'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{64} )
|
|
||||||
|
|
||||||
# RFC 4519 definition ('countryName' in X.500 and RFC2256)
|
|
||||||
attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' )
|
|
||||||
DESC 'RFC4519: two-letter ISO-3166 country code'
|
|
||||||
SUP name
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.11
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
#attributetype ( 2.5.4.6 NAME ( 'c' 'countryName' )
|
|
||||||
# DESC 'RFC2256: ISO-3166 country 2-letter code'
|
|
||||||
# SUP name SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.7 NAME ( 'l' 'localityName' )
|
|
||||||
DESC 'RFC2256: locality which this object resides in'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.8 NAME ( 'st' 'stateOrProvinceName' )
|
|
||||||
DESC 'RFC2256: state or province which this object resides in'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.9 NAME ( 'street' 'streetAddress' )
|
|
||||||
DESC 'RFC2256: street address of this object'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.10 NAME ( 'o' 'organizationName' )
|
|
||||||
DESC 'RFC2256: organization this object belongs to'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.11 NAME ( 'ou' 'organizationalUnitName' )
|
|
||||||
DESC 'RFC2256: organizational unit this object belongs to'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.12 NAME 'title'
|
|
||||||
DESC 'RFC2256: title associated with the entity'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.13 NAME 'description'
|
|
||||||
# DESC 'RFC2256: descriptive information'
|
|
||||||
# EQUALITY caseIgnoreMatch
|
|
||||||
# SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1024} )
|
|
||||||
|
|
||||||
# Deprecated by enhancedSearchGuide
|
|
||||||
attributetype ( 2.5.4.14 NAME 'searchGuide'
|
|
||||||
DESC 'RFC2256: search guide, deprecated by enhancedSearchGuide'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.25 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.15 NAME 'businessCategory'
|
|
||||||
DESC 'RFC2256: business category'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.16 NAME 'postalAddress'
|
|
||||||
DESC 'RFC2256: postal address'
|
|
||||||
EQUALITY caseIgnoreListMatch
|
|
||||||
SUBSTR caseIgnoreListSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.17 NAME 'postalCode'
|
|
||||||
DESC 'RFC2256: postal code'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.18 NAME 'postOfficeBox'
|
|
||||||
DESC 'RFC2256: Post Office Box'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.19 NAME 'physicalDeliveryOfficeName'
|
|
||||||
DESC 'RFC2256: Physical Delivery Office Name'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.20 NAME 'telephoneNumber'
|
|
||||||
DESC 'RFC2256: Telephone Number'
|
|
||||||
EQUALITY telephoneNumberMatch
|
|
||||||
SUBSTR telephoneNumberSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.21 NAME 'telexNumber'
|
|
||||||
DESC 'RFC2256: Telex Number'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.52 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.22 NAME 'teletexTerminalIdentifier'
|
|
||||||
DESC 'RFC2256: Teletex Terminal Identifier'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.51 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' )
|
|
||||||
DESC 'RFC2256: Facsimile (Fax) Telephone Number'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.22 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.24 NAME 'x121Address'
|
|
||||||
DESC 'RFC2256: X.121 Address'
|
|
||||||
EQUALITY numericStringMatch
|
|
||||||
SUBSTR numericStringSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{15} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.25 NAME 'internationaliSDNNumber'
|
|
||||||
DESC 'RFC2256: international ISDN number'
|
|
||||||
EQUALITY numericStringMatch
|
|
||||||
SUBSTR numericStringSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36{16} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.26 NAME 'registeredAddress'
|
|
||||||
DESC 'RFC2256: registered postal address'
|
|
||||||
SUP postalAddress
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.27 NAME 'destinationIndicator'
|
|
||||||
DESC 'RFC2256: destination indicator'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{128} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.28 NAME 'preferredDeliveryMethod'
|
|
||||||
DESC 'RFC2256: preferred delivery method'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.14
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.29 NAME 'presentationAddress'
|
|
||||||
DESC 'RFC2256: presentation address'
|
|
||||||
EQUALITY presentationAddressMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.43
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.30 NAME 'supportedApplicationContext'
|
|
||||||
DESC 'RFC2256: supported application context'
|
|
||||||
EQUALITY objectIdentifierMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.31 NAME 'member'
|
|
||||||
DESC 'RFC2256: member of a group'
|
|
||||||
SUP distinguishedName )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.32 NAME 'owner'
|
|
||||||
DESC 'RFC2256: owner (of the object)'
|
|
||||||
SUP distinguishedName )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.33 NAME 'roleOccupant'
|
|
||||||
DESC 'RFC2256: occupant of role'
|
|
||||||
SUP distinguishedName )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.34 NAME 'seeAlso'
|
|
||||||
# DESC 'RFC2256: DN of related object'
|
|
||||||
# SUP distinguishedName )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.35 NAME 'userPassword'
|
|
||||||
# DESC 'RFC2256/2307: password of user'
|
|
||||||
# EQUALITY octetStringMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
# with certificateExactMatch rule (per X.509)
|
|
||||||
attributetype ( 2.5.4.36 NAME 'userCertificate'
|
|
||||||
DESC 'RFC2256: X.509 user certificate, use ;binary'
|
|
||||||
EQUALITY certificateExactMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
# with certificateExactMatch rule (per X.509)
|
|
||||||
attributetype ( 2.5.4.37 NAME 'cACertificate'
|
|
||||||
DESC 'RFC2256: X.509 CA certificate, use ;binary'
|
|
||||||
EQUALITY certificateExactMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
attributetype ( 2.5.4.38 NAME 'authorityRevocationList'
|
|
||||||
DESC 'RFC2256: X.509 authority revocation list, use ;binary'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
attributetype ( 2.5.4.39 NAME 'certificateRevocationList'
|
|
||||||
DESC 'RFC2256: X.509 certificate revocation list, use ;binary'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
|
||||||
|
|
||||||
# Must be stored and requested in the binary form
|
|
||||||
attributetype ( 2.5.4.40 NAME 'crossCertificatePair'
|
|
||||||
DESC 'RFC2256: X.509 cross certificate pair, use ;binary'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.10 )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.41 NAME 'name'
|
|
||||||
# EQUALITY caseIgnoreMatch
|
|
||||||
# SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.42 NAME ( 'givenName' 'gn' )
|
|
||||||
DESC 'RFC2256: first name(s) for which the entity is known by'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.43 NAME 'initials'
|
|
||||||
DESC 'RFC2256: initials of some or all of names, but not the surname(s).'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.44 NAME 'generationQualifier'
|
|
||||||
DESC 'RFC2256: name qualifier indicating a generation'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.45 NAME 'x500UniqueIdentifier'
|
|
||||||
DESC 'RFC2256: X.500 unique identifier'
|
|
||||||
EQUALITY bitStringMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.46 NAME 'dnQualifier'
|
|
||||||
DESC 'RFC2256: DN qualifier'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
ORDERING caseIgnoreOrderingMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.44 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.47 NAME 'enhancedSearchGuide'
|
|
||||||
DESC 'RFC2256: enhanced search guide'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.21 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.48 NAME 'protocolInformation'
|
|
||||||
DESC 'RFC2256: protocol information'
|
|
||||||
EQUALITY protocolInformationMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 2.5.4.49 NAME 'distinguishedName'
|
|
||||||
# EQUALITY distinguishedNameMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.50 NAME 'uniqueMember'
|
|
||||||
DESC 'RFC2256: unique member of a group'
|
|
||||||
EQUALITY uniqueMemberMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.51 NAME 'houseIdentifier'
|
|
||||||
DESC 'RFC2256: house identifier'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
attributetype ( 2.5.4.52 NAME 'supportedAlgorithms'
|
|
||||||
DESC 'RFC2256: supported algorithms'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.49 )
|
|
||||||
|
|
||||||
# Must be transferred using ;binary
|
|
||||||
attributetype ( 2.5.4.53 NAME 'deltaRevocationList'
|
|
||||||
DESC 'RFC2256: delta revocation list; use ;binary'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.9 )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.54 NAME 'dmdName'
|
|
||||||
DESC 'RFC2256: name of DMD'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 2.5.4.65 NAME 'pseudonym'
|
|
||||||
DESC 'X.520(4th): pseudonym for the object'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
# Standard object classes from RFC2256
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#objectclass ( 2.5.6.0 NAME 'top'
|
|
||||||
# DESC 'RFC2256: top of the superclass chain'
|
|
||||||
# ABSTRACT
|
|
||||||
# MUST objectClass )
|
|
||||||
|
|
||||||
# system schema
|
|
||||||
#objectclass ( 2.5.6.1 NAME 'alias'
|
|
||||||
# DESC 'RFC2256: an alias'
|
|
||||||
# SUP top STRUCTURAL
|
|
||||||
# MUST aliasedObjectName )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.2 NAME 'country'
|
|
||||||
DESC 'RFC2256: a country'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST c
|
|
||||||
MAY ( searchGuide $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.3 NAME 'locality'
|
|
||||||
DESC 'RFC2256: a locality'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MAY ( street $ seeAlso $ searchGuide $ st $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.4 NAME 'organization'
|
|
||||||
DESC 'RFC2256: an organization'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST o
|
|
||||||
MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
|
|
||||||
x121Address $ registeredAddress $ destinationIndicator $
|
|
||||||
preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
|
|
||||||
telephoneNumber $ internationaliSDNNumber $
|
|
||||||
facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
|
|
||||||
postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.5 NAME 'organizationalUnit'
|
|
||||||
DESC 'RFC2256: an organizational unit'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ou
|
|
||||||
MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
|
|
||||||
x121Address $ registeredAddress $ destinationIndicator $
|
|
||||||
preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
|
|
||||||
telephoneNumber $ internationaliSDNNumber $
|
|
||||||
facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
|
|
||||||
postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.6 NAME 'person'
|
|
||||||
DESC 'RFC2256: a person'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( sn $ cn )
|
|
||||||
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.7 NAME 'organizationalPerson'
|
|
||||||
DESC 'RFC2256: an organizational person'
|
|
||||||
SUP person STRUCTURAL
|
|
||||||
MAY ( title $ x121Address $ registeredAddress $ destinationIndicator $
|
|
||||||
preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
|
|
||||||
telephoneNumber $ internationaliSDNNumber $
|
|
||||||
facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $
|
|
||||||
postalAddress $ physicalDeliveryOfficeName $ ou $ st $ l ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.8 NAME 'organizationalRole'
|
|
||||||
DESC 'RFC2256: an organizational role'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST cn
|
|
||||||
MAY ( x121Address $ registeredAddress $ destinationIndicator $
|
|
||||||
preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
|
|
||||||
telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $
|
|
||||||
seeAlso $ roleOccupant $ preferredDeliveryMethod $ street $
|
|
||||||
postOfficeBox $ postalCode $ postalAddress $
|
|
||||||
physicalDeliveryOfficeName $ ou $ st $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.9 NAME 'groupOfNames'
|
|
||||||
DESC 'RFC2256: a group of names (DNs)'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( member $ cn )
|
|
||||||
MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.10 NAME 'residentialPerson'
|
|
||||||
DESC 'RFC2256: an residential person'
|
|
||||||
SUP person STRUCTURAL
|
|
||||||
MUST l
|
|
||||||
MAY ( businessCategory $ x121Address $ registeredAddress $
|
|
||||||
destinationIndicator $ preferredDeliveryMethod $ telexNumber $
|
|
||||||
teletexTerminalIdentifier $ telephoneNumber $ internationaliSDNNumber $
|
|
||||||
facsimileTelephoneNumber $ preferredDeliveryMethod $ street $
|
|
||||||
postOfficeBox $ postalCode $ postalAddress $
|
|
||||||
physicalDeliveryOfficeName $ st $ l ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.11 NAME 'applicationProcess'
|
|
||||||
DESC 'RFC2256: an application process'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST cn
|
|
||||||
MAY ( seeAlso $ ou $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.12 NAME 'applicationEntity'
|
|
||||||
DESC 'RFC2256: an application entity'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( presentationAddress $ cn )
|
|
||||||
MAY ( supportedApplicationContext $ seeAlso $ ou $ o $ l $
|
|
||||||
description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.13 NAME 'dSA'
|
|
||||||
DESC 'RFC2256: a directory system agent (a server)'
|
|
||||||
SUP applicationEntity STRUCTURAL
|
|
||||||
MAY knowledgeInformation )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.14 NAME 'device'
|
|
||||||
DESC 'RFC2256: a device'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST cn
|
|
||||||
MAY ( serialNumber $ seeAlso $ owner $ ou $ o $ l $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser'
|
|
||||||
DESC 'RFC2256: a strong authentication user'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST userCertificate )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.16 NAME 'certificationAuthority'
|
|
||||||
DESC 'RFC2256: a certificate authority'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST ( authorityRevocationList $ certificateRevocationList $
|
|
||||||
cACertificate ) MAY crossCertificatePair )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.17 NAME 'groupOfUniqueNames'
|
|
||||||
DESC 'RFC2256: a group of unique names (DN and Unique Identifier)'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( uniqueMember $ cn )
|
|
||||||
MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.18 NAME 'userSecurityInformation'
|
|
||||||
DESC 'RFC2256: a user security information'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY ( supportedAlgorithms ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.16.2 NAME 'certificationAuthority-V2'
|
|
||||||
SUP certificationAuthority
|
|
||||||
AUXILIARY MAY ( deltaRevocationList ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn )
|
|
||||||
MAY ( certificateRevocationList $ authorityRevocationList $
|
|
||||||
deltaRevocationList ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.20 NAME 'dmd'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( dmdName )
|
|
||||||
MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $
|
|
||||||
x121Address $ registeredAddress $ destinationIndicator $
|
|
||||||
preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $
|
|
||||||
telephoneNumber $ internationaliSDNNumber $ facsimileTelephoneNumber $
|
|
||||||
street $ postOfficeBox $ postalCode $ postalAddress $
|
|
||||||
physicalDeliveryOfficeName $ st $ l $ description ) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Object Classes from RFC 2587
|
|
||||||
#
|
|
||||||
objectclass ( 2.5.6.21 NAME 'pkiUser'
|
|
||||||
DESC 'RFC2587: a PKI user'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY userCertificate )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.22 NAME 'pkiCA'
|
|
||||||
DESC 'RFC2587: PKI certificate authority'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY ( authorityRevocationList $ certificateRevocationList $
|
|
||||||
cACertificate $ crossCertificatePair ) )
|
|
||||||
|
|
||||||
objectclass ( 2.5.6.23 NAME 'deltaCRL'
|
|
||||||
DESC 'RFC2587: PKI user'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY deltaRevocationList )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Standard Track URI label schema from RFC 2079
|
|
||||||
# system schema
|
|
||||||
#attributetype ( 1.3.6.1.4.1.250.1.57 NAME 'labeledURI'
|
|
||||||
# DESC 'RFC2079: Uniform Resource Identifier with optional label'
|
|
||||||
# EQUALITY caseExactMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.4.1.250.3.15 NAME 'labeledURIObject'
|
|
||||||
DESC 'RFC2079: object that contains the URI attribute type'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY ( labeledURI ) )
|
|
||||||
|
|
||||||
#
|
|
||||||
# Derived from RFC 1274, but with new "short names"
|
|
||||||
#
|
|
||||||
#attributetype ( 0.9.2342.19200300.100.1.1
|
|
||||||
# NAME ( 'uid' 'userid' )
|
|
||||||
# DESC 'RFC1274: user identifier'
|
|
||||||
# EQUALITY caseIgnoreMatch
|
|
||||||
# SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
|
|
||||||
|
|
||||||
attributetype ( 0.9.2342.19200300.100.1.3
|
|
||||||
NAME ( 'mail' 'rfc822Mailbox' )
|
|
||||||
DESC 'RFC1274: RFC822 Mailbox'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
|
|
||||||
|
|
||||||
objectclass ( 0.9.2342.19200300.100.4.19 NAME 'simpleSecurityObject'
|
|
||||||
DESC 'RFC1274: simple security object'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST userPassword )
|
|
||||||
|
|
||||||
# RFC 1274 + RFC 2247
|
|
||||||
attributetype ( 0.9.2342.19200300.100.1.25
|
|
||||||
NAME ( 'dc' 'domainComponent' )
|
|
||||||
DESC 'RFC1274/2247: domain component'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
||||||
|
|
||||||
# RFC 2247
|
|
||||||
objectclass ( 1.3.6.1.4.1.1466.344 NAME 'dcObject'
|
|
||||||
DESC 'RFC2247: domain component object'
|
|
||||||
SUP top AUXILIARY MUST dc )
|
|
||||||
|
|
||||||
# RFC 2377
|
|
||||||
objectclass ( 1.3.6.1.1.3.1 NAME 'uidObject'
|
|
||||||
DESC 'RFC2377: uid object'
|
|
||||||
SUP top AUXILIARY MUST uid )
|
|
||||||
|
|
||||||
# RFC 4524
|
|
||||||
# The 'associatedDomain' attribute specifies DNS [RFC1034][RFC2181]
|
|
||||||
# host names [RFC1123] that are associated with an object. That is,
|
|
||||||
# values of this attribute should conform to the following ABNF:
|
|
||||||
#
|
|
||||||
# domain = root / label *( DOT label )
|
|
||||||
# root = SPACE
|
|
||||||
# label = LETDIG [ *61( LETDIG / HYPHEN ) LETDIG ]
|
|
||||||
# LETDIG = %x30-39 / %x41-5A / %x61-7A ; "0" - "9" / "A"-"Z" / "a"-"z"
|
|
||||||
# SPACE = %x20 ; space (" ")
|
|
||||||
# HYPHEN = %x2D ; hyphen ("-")
|
|
||||||
# DOT = %x2E ; period (".")
|
|
||||||
attributetype ( 0.9.2342.19200300.100.1.37
|
|
||||||
NAME 'associatedDomain'
|
|
||||||
DESC 'RFC1274: domain associated with object'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
||||||
|
|
||||||
# RFC 2459 -- deprecated in favor of 'mail' (in cosine.schema)
|
|
||||||
attributetype ( 1.2.840.113549.1.9.1
|
|
||||||
NAME ( 'email' 'emailAddress' 'pkcs9email' )
|
|
||||||
DESC 'RFC3280: legacy attribute for email addresses in DNs'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
|
|
||||||
|
|
2571
connector/ldap/testdata/cosine.schema
vendored
2571
connector/ldap/testdata/cosine.schema
vendored
File diff suppressed because it is too large
Load Diff
155
connector/ldap/testdata/inetorgperson.schema
vendored
155
connector/ldap/testdata/inetorgperson.schema
vendored
@ -1,155 +0,0 @@
|
|||||||
# inetorgperson.schema -- InetOrgPerson (RFC2798)
|
|
||||||
# $OpenLDAP$
|
|
||||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
||||||
##
|
|
||||||
## Copyright 1998-2016 The OpenLDAP Foundation.
|
|
||||||
## All rights reserved.
|
|
||||||
##
|
|
||||||
## Redistribution and use in source and binary forms, with or without
|
|
||||||
## modification, are permitted only as authorized by the OpenLDAP
|
|
||||||
## Public License.
|
|
||||||
##
|
|
||||||
## A copy of this license is available in the file LICENSE in the
|
|
||||||
## top-level directory of the distribution or, alternatively, at
|
|
||||||
## <http://www.OpenLDAP.org/license.html>.
|
|
||||||
#
|
|
||||||
# InetOrgPerson (RFC2798)
|
|
||||||
#
|
|
||||||
# Depends upon
|
|
||||||
# Definition of an X.500 Attribute Type and an Object Class to Hold
|
|
||||||
# Uniform Resource Identifiers (URIs) [RFC2079]
|
|
||||||
# (core.schema)
|
|
||||||
#
|
|
||||||
# A Summary of the X.500(96) User Schema for use with LDAPv3 [RFC2256]
|
|
||||||
# (core.schema)
|
|
||||||
#
|
|
||||||
# The COSINE and Internet X.500 Schema [RFC1274] (cosine.schema)
|
|
||||||
|
|
||||||
# carLicense
|
|
||||||
# This multivalued field is used to record the values of the license or
|
|
||||||
# registration plate associated with an individual.
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.1
|
|
||||||
NAME 'carLicense'
|
|
||||||
DESC 'RFC2798: vehicle license or registration plate'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|
||||||
|
|
||||||
# departmentNumber
|
|
||||||
# Code for department to which a person belongs. This can also be
|
|
||||||
# strictly numeric (e.g., 1234) or alphanumeric (e.g., ABC/123).
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.2
|
|
||||||
NAME 'departmentNumber'
|
|
||||||
DESC 'RFC2798: identifies a department within an organization'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|
||||||
|
|
||||||
# displayName
|
|
||||||
# When displaying an entry, especially within a one-line summary list, it
|
|
||||||
# is useful to be able to identify a name to be used. Since other attri-
|
|
||||||
# bute types such as 'cn' are multivalued, an additional attribute type is
|
|
||||||
# needed. Display name is defined for this purpose.
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.241
|
|
||||||
NAME 'displayName'
|
|
||||||
DESC 'RFC2798: preferred name to be used when displaying entries'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
# employeeNumber
|
|
||||||
# Numeric or alphanumeric identifier assigned to a person, typically based
|
|
||||||
# on order of hire or association with an organization. Single valued.
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.3
|
|
||||||
NAME 'employeeNumber'
|
|
||||||
DESC 'RFC2798: numerically identifies an employee within an organization'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
# employeeType
|
|
||||||
# Used to identify the employer to employee relationship. Typical values
|
|
||||||
# used will be "Contractor", "Employee", "Intern", "Temp", "External", and
|
|
||||||
# "Unknown" but any value may be used.
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.4
|
|
||||||
NAME 'employeeType'
|
|
||||||
DESC 'RFC2798: type of employment for a person'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|
||||||
|
|
||||||
# jpegPhoto
|
|
||||||
# Used to store one or more images of a person using the JPEG File
|
|
||||||
# Interchange Format [JFIF].
|
|
||||||
# Note that the jpegPhoto attribute type was defined for use in the
|
|
||||||
# Internet X.500 pilots but no referencable definition for it could be
|
|
||||||
# located.
|
|
||||||
attributetype ( 0.9.2342.19200300.100.1.60
|
|
||||||
NAME 'jpegPhoto'
|
|
||||||
DESC 'RFC2798: a JPEG image'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.28 )
|
|
||||||
|
|
||||||
# preferredLanguage
|
|
||||||
# Used to indicate an individual's preferred written or spoken
|
|
||||||
# language. This is useful for international correspondence or human-
|
|
||||||
# computer interaction. Values for this attribute type MUST conform to
|
|
||||||
# the definition of the Accept-Language header field defined in
|
|
||||||
# [RFC2068] with one exception: the sequence "Accept-Language" ":"
|
|
||||||
# should be omitted. This is a single valued attribute type.
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.39
|
|
||||||
NAME 'preferredLanguage'
|
|
||||||
DESC 'RFC2798: preferred written or spoken language for a person'
|
|
||||||
EQUALITY caseIgnoreMatch
|
|
||||||
SUBSTR caseIgnoreSubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
# userSMIMECertificate
|
|
||||||
# A PKCS#7 [RFC2315] SignedData, where the content that is signed is
|
|
||||||
# ignored by consumers of userSMIMECertificate values. It is
|
|
||||||
# recommended that values have a `contentType' of data with an absent
|
|
||||||
# `content' field. Values of this attribute contain a person's entire
|
|
||||||
# certificate chain and an smimeCapabilities field [RFC2633] that at a
|
|
||||||
# minimum describes their SMIME algorithm capabilities. Values for
|
|
||||||
# this attribute are to be stored and requested in binary form, as
|
|
||||||
# 'userSMIMECertificate;binary'. If available, this attribute is
|
|
||||||
# preferred over the userCertificate attribute for S/MIME applications.
|
|
||||||
## OpenLDAP note: ";binary" transfer should NOT be used as syntax is binary
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.40
|
|
||||||
NAME 'userSMIMECertificate'
|
|
||||||
DESC 'RFC2798: PKCS#7 SignedData used to support S/MIME'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
|
|
||||||
|
|
||||||
# userPKCS12
|
|
||||||
# PKCS #12 [PKCS12] provides a format for exchange of personal identity
|
|
||||||
# information. When such information is stored in a directory service,
|
|
||||||
# the userPKCS12 attribute should be used. This attribute is to be stored
|
|
||||||
# and requested in binary form, as 'userPKCS12;binary'. The attribute
|
|
||||||
# values are PFX PDUs stored as binary data.
|
|
||||||
## OpenLDAP note: ";binary" transfer should NOT be used as syntax is binary
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.216
|
|
||||||
NAME 'userPKCS12'
|
|
||||||
DESC 'RFC2798: personal identity information, a PKCS #12 PFX'
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )
|
|
||||||
|
|
||||||
|
|
||||||
# inetOrgPerson
|
|
||||||
# The inetOrgPerson represents people who are associated with an
|
|
||||||
# organization in some way. It is a structural class and is derived
|
|
||||||
# from the organizationalPerson which is defined in X.521 [X521].
|
|
||||||
objectclass ( 2.16.840.1.113730.3.2.2
|
|
||||||
NAME 'inetOrgPerson'
|
|
||||||
DESC 'RFC2798: Internet Organizational Person'
|
|
||||||
SUP organizationalPerson
|
|
||||||
STRUCTURAL
|
|
||||||
MAY (
|
|
||||||
audio $ businessCategory $ carLicense $ departmentNumber $
|
|
||||||
displayName $ employeeNumber $ employeeType $ givenName $
|
|
||||||
homePhone $ homePostalAddress $ initials $ jpegPhoto $
|
|
||||||
labeledURI $ mail $ manager $ mobile $ o $ pager $
|
|
||||||
photo $ roomNumber $ secretary $ uid $ userCertificate $
|
|
||||||
x500uniqueIdentifier $ preferredLanguage $
|
|
||||||
userSMIMECertificate $ userPKCS12 )
|
|
||||||
)
|
|
75
connector/ldap/testdata/misc.schema
vendored
75
connector/ldap/testdata/misc.schema
vendored
@ -1,75 +0,0 @@
|
|||||||
# misc.schema -- assorted schema definitions
|
|
||||||
# $OpenLDAP$
|
|
||||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
||||||
##
|
|
||||||
## Copyright 1998-2016 The OpenLDAP Foundation.
|
|
||||||
## All rights reserved.
|
|
||||||
##
|
|
||||||
## Redistribution and use in source and binary forms, with or without
|
|
||||||
## modification, are permitted only as authorized by the OpenLDAP
|
|
||||||
## Public License.
|
|
||||||
##
|
|
||||||
## A copy of this license is available in the file LICENSE in the
|
|
||||||
## top-level directory of the distribution or, alternatively, at
|
|
||||||
## <http://www.OpenLDAP.org/license.html>.
|
|
||||||
#
|
|
||||||
# Assorted definitions from several sources, including
|
|
||||||
# ''works in progress''. Contents of this file are
|
|
||||||
# subject to change (including deletion) without notice.
|
|
||||||
#
|
|
||||||
# Not recommended for production use!
|
|
||||||
# Use with extreme caution!
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
# draft-lachman-laser-ldap-mail-routing-02.txt !!!EXPIRED!!!
|
|
||||||
# (a work in progress)
|
|
||||||
#
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.13
|
|
||||||
NAME 'mailLocalAddress'
|
|
||||||
DESC 'RFC822 email address of this recipient'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )
|
|
||||||
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.18
|
|
||||||
NAME 'mailHost'
|
|
||||||
DESC 'FQDN of the SMTP/MTA of this recipient'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 2.16.840.1.113730.3.1.47
|
|
||||||
NAME 'mailRoutingAddress'
|
|
||||||
DESC 'RFC822 routing address of this recipient'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}
|
|
||||||
SINGLE-VALUE )
|
|
||||||
|
|
||||||
# I-D leaves this OID TBD.
|
|
||||||
# iPlanet uses 2.16.840.1.113.730.3.2.147 but that is an
|
|
||||||
# improperly delegated OID. A typo is likely.
|
|
||||||
objectclass ( 2.16.840.1.113730.3.2.147
|
|
||||||
NAME 'inetLocalMailRecipient'
|
|
||||||
DESC 'Internet local mail recipient'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY ( mailLocalAddress $ mailHost $ mailRoutingAddress ) )
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
# draft-srivastava-ldap-mail-00.txt !!!EXPIRED!!!
|
|
||||||
# (a work in progress)
|
|
||||||
#
|
|
||||||
attributetype ( 1.3.6.1.4.1.42.2.27.2.1.15
|
|
||||||
NAME 'rfc822MailMember'
|
|
||||||
DESC 'rfc822 mail address of group member(s)'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
# !!!no I-D!!!
|
|
||||||
# (a work in progress)
|
|
||||||
#
|
|
||||||
objectclass ( 1.3.6.1.4.1.42.2.27.1.2.5
|
|
||||||
NAME 'nisMailAlias'
|
|
||||||
DESC 'NIS mail alias'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST cn
|
|
||||||
MAY rfc822MailMember )
|
|
237
connector/ldap/testdata/nis.schema
vendored
237
connector/ldap/testdata/nis.schema
vendored
@ -1,237 +0,0 @@
|
|||||||
# $OpenLDAP$
|
|
||||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
||||||
##
|
|
||||||
## Copyright 1998-2016 The OpenLDAP Foundation.
|
|
||||||
## All rights reserved.
|
|
||||||
##
|
|
||||||
## Redistribution and use in source and binary forms, with or without
|
|
||||||
## modification, are permitted only as authorized by the OpenLDAP
|
|
||||||
## Public License.
|
|
||||||
##
|
|
||||||
## A copy of this license is available in the file LICENSE in the
|
|
||||||
## top-level directory of the distribution or, alternatively, at
|
|
||||||
## <http://www.OpenLDAP.org/license.html>.
|
|
||||||
|
|
||||||
# Definitions from RFC2307 (Experimental)
|
|
||||||
# An Approach for Using LDAP as a Network Information Service
|
|
||||||
|
|
||||||
# Depends upon core.schema and cosine.schema
|
|
||||||
|
|
||||||
# Note: The definitions in RFC2307 are given in syntaxes closely related
|
|
||||||
# to those in RFC2252, however, some liberties are taken that are not
|
|
||||||
# supported by RFC2252. This file has been written following RFC2252
|
|
||||||
# strictly.
|
|
||||||
|
|
||||||
# OID Base is iso(1) org(3) dod(6) internet(1) directory(1) nisSchema(1).
|
|
||||||
# i.e. nisSchema in RFC2307 is 1.3.6.1.1.1
|
|
||||||
#
|
|
||||||
# Syntaxes are under 1.3.6.1.1.1.0 (two new syntaxes are defined)
|
|
||||||
# validaters for these syntaxes are incomplete, they only
|
|
||||||
# implement printable string validation (which is good as the
|
|
||||||
# common use of these syntaxes violates the specification).
|
|
||||||
# Attribute types are under 1.3.6.1.1.1.1
|
|
||||||
# Object classes are under 1.3.6.1.1.1.2
|
|
||||||
|
|
||||||
# Attribute Type Definitions
|
|
||||||
|
|
||||||
# builtin
|
|
||||||
#attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber'
|
|
||||||
# DESC 'An integer uniquely identifying a user in an administrative domain'
|
|
||||||
# EQUALITY integerMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
# builtin
|
|
||||||
#attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber'
|
|
||||||
# DESC 'An integer uniquely identifying a group in an administrative domain'
|
|
||||||
# EQUALITY integerMatch
|
|
||||||
# SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
|
|
||||||
DESC 'The GECOS field; the common name'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SUBSTR caseIgnoreIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory'
|
|
||||||
DESC 'The absolute path to the home directory'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell'
|
|
||||||
DESC 'The path to the login shell'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SUBSTR caseExactIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SUBSTR caseExactIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple'
|
|
||||||
DESC 'Netgroup triple'
|
|
||||||
SYNTAX 1.3.6.1.1.1.0.0 )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber'
|
|
||||||
EQUALITY integerMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber'
|
|
||||||
DESC 'IP address'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber'
|
|
||||||
DESC 'IP network'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber'
|
|
||||||
DESC 'IP netmask'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} SINGLE-VALUE )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress'
|
|
||||||
DESC 'MAC address'
|
|
||||||
EQUALITY caseIgnoreIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{128} )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter'
|
|
||||||
DESC 'rpc.bootparamd parameter'
|
|
||||||
SYNTAX 1.3.6.1.1.1.0.1 )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile'
|
|
||||||
DESC 'Boot image name'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName'
|
|
||||||
SUP name )
|
|
||||||
|
|
||||||
attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry'
|
|
||||||
EQUALITY caseExactIA5Match
|
|
||||||
SUBSTR caseExactIA5SubstringsMatch
|
|
||||||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} SINGLE-VALUE )
|
|
||||||
|
|
||||||
# Object Class Definitions
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount'
|
|
||||||
DESC 'Abstraction of an account with POSIX attributes'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
|
|
||||||
MAY ( userPassword $ loginShell $ gecos $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount'
|
|
||||||
DESC 'Additional attributes for shadow passwords'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST uid
|
|
||||||
MAY ( userPassword $ shadowLastChange $ shadowMin $
|
|
||||||
shadowMax $ shadowWarning $ shadowInactive $
|
|
||||||
shadowExpire $ shadowFlag $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup'
|
|
||||||
DESC 'Abstraction of a group of accounts'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ gidNumber )
|
|
||||||
MAY ( userPassword $ memberUid $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService'
|
|
||||||
DESC 'Abstraction an Internet Protocol service'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ ipServicePort $ ipServiceProtocol )
|
|
||||||
MAY ( description ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol'
|
|
||||||
DESC 'Abstraction of an IP protocol'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ ipProtocolNumber $ description )
|
|
||||||
MAY description )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc'
|
|
||||||
DESC 'Abstraction of an ONC/RPC binding'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ oncRpcNumber $ description )
|
|
||||||
MAY description )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost'
|
|
||||||
DESC 'Abstraction of a host, an IP device'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MUST ( cn $ ipHostNumber )
|
|
||||||
MAY ( l $ description $ manager ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork'
|
|
||||||
DESC 'Abstraction of an IP network'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ ipNetworkNumber )
|
|
||||||
MAY ( ipNetmaskNumber $ l $ description $ manager ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup'
|
|
||||||
DESC 'Abstraction of a netgroup'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST cn
|
|
||||||
MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap'
|
|
||||||
DESC 'A generic abstraction of a NIS map'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST nisMapName
|
|
||||||
MAY description )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject'
|
|
||||||
DESC 'An entry in a NIS map'
|
|
||||||
SUP top STRUCTURAL
|
|
||||||
MUST ( cn $ nisMapEntry $ nisMapName )
|
|
||||||
MAY description )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device'
|
|
||||||
DESC 'A device with a MAC address'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY macAddress )
|
|
||||||
|
|
||||||
objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
|
|
||||||
DESC 'A device with boot parameters'
|
|
||||||
SUP top AUXILIARY
|
|
||||||
MAY ( bootFile $ bootParameter ) )
|
|
54
connector/ldap/testdata/openldap.schema
vendored
54
connector/ldap/testdata/openldap.schema
vendored
@ -1,54 +0,0 @@
|
|||||||
# $OpenLDAP$
|
|
||||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
||||||
##
|
|
||||||
## Copyright 1998-2016 The OpenLDAP Foundation.
|
|
||||||
## All rights reserved.
|
|
||||||
##
|
|
||||||
## Redistribution and use in source and binary forms, with or without
|
|
||||||
## modification, are permitted only as authorized by the OpenLDAP
|
|
||||||
## Public License.
|
|
||||||
##
|
|
||||||
## A copy of this license is available in the file LICENSE in the
|
|
||||||
## top-level directory of the distribution or, alternatively, at
|
|
||||||
## <http://www.OpenLDAP.org/license.html>.
|
|
||||||
|
|
||||||
#
|
|
||||||
# OpenLDAP Project's directory schema items
|
|
||||||
#
|
|
||||||
# depends upon:
|
|
||||||
# core.schema
|
|
||||||
# cosine.schema
|
|
||||||
# inetorgperson.schema
|
|
||||||
#
|
|
||||||
# These are provided for informational purposes only.
|
|
||||||
|
|
||||||
objectIdentifier OpenLDAProot 1.3.6.1.4.1.4203
|
|
||||||
|
|
||||||
objectIdentifier OpenLDAP OpenLDAProot:1
|
|
||||||
objectIdentifier OpenLDAPattributeType OpenLDAP:3
|
|
||||||
objectIdentifier OpenLDAPobjectClass OpenLDAP:4
|
|
||||||
|
|
||||||
objectClass ( OpenLDAPobjectClass:3
|
|
||||||
NAME 'OpenLDAPorg'
|
|
||||||
DESC 'OpenLDAP Organizational Object'
|
|
||||||
SUP organization
|
|
||||||
MAY ( buildingName $ displayName $ labeledURI ) )
|
|
||||||
|
|
||||||
objectClass ( OpenLDAPobjectClass:4
|
|
||||||
NAME 'OpenLDAPou'
|
|
||||||
DESC 'OpenLDAP Organizational Unit Object'
|
|
||||||
SUP organizationalUnit
|
|
||||||
MAY ( buildingName $ displayName $ labeledURI $ o ) )
|
|
||||||
|
|
||||||
objectClass ( OpenLDAPobjectClass:5
|
|
||||||
NAME 'OpenLDAPperson'
|
|
||||||
DESC 'OpenLDAP Person'
|
|
||||||
SUP ( pilotPerson $ inetOrgPerson )
|
|
||||||
MUST ( uid $ cn )
|
|
||||||
MAY ( givenName $ labeledURI $ o ) )
|
|
||||||
|
|
||||||
objectClass ( OpenLDAPobjectClass:6
|
|
||||||
NAME 'OpenLDAPdisplayableObject'
|
|
||||||
DESC 'OpenLDAP Displayable Object'
|
|
||||||
AUXILIARY
|
|
||||||
MAY displayName )
|
|
6
go.mod
6
go.mod
@ -1,6 +1,7 @@
|
|||||||
module github.com/dexidp/dex
|
module github.com/dexidp/dex
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/Microsoft/hcsshim v0.8.7 // indirect
|
||||||
github.com/beevik/etree v1.1.0
|
github.com/beevik/etree v1.1.0
|
||||||
github.com/coreos/bbolt v1.3.3 // indirect
|
github.com/coreos/bbolt v1.3.3 // indirect
|
||||||
github.com/coreos/etcd v3.3.13+incompatible
|
github.com/coreos/etcd v3.3.13+incompatible
|
||||||
@ -12,7 +13,6 @@ require (
|
|||||||
github.com/felixge/httpsnoop v1.0.0
|
github.com/felixge/httpsnoop v1.0.0
|
||||||
github.com/ghodss/yaml v1.0.0
|
github.com/ghodss/yaml v1.0.0
|
||||||
github.com/go-sql-driver/mysql v1.4.1
|
github.com/go-sql-driver/mysql v1.4.1
|
||||||
github.com/gogo/protobuf v1.2.1 // indirect
|
|
||||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 // indirect
|
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 // indirect
|
||||||
github.com/golang/protobuf v1.3.2
|
github.com/golang/protobuf v1.3.2
|
||||||
github.com/google/btree v1.0.0 // indirect
|
github.com/google/btree v1.0.0 // indirect
|
||||||
@ -29,16 +29,15 @@ require (
|
|||||||
github.com/kylelemons/godebug v1.1.0
|
github.com/kylelemons/godebug v1.1.0
|
||||||
github.com/lib/pq v1.2.0
|
github.com/lib/pq v1.2.0
|
||||||
github.com/mattn/go-sqlite3 v1.11.0
|
github.com/mattn/go-sqlite3 v1.11.0
|
||||||
github.com/pkg/errors v0.8.1 // indirect
|
|
||||||
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect
|
github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect
|
||||||
github.com/prometheus/client_golang v1.0.0
|
github.com/prometheus/client_golang v1.0.0
|
||||||
github.com/prometheus/common v0.6.0 // indirect
|
github.com/prometheus/common v0.6.0 // indirect
|
||||||
github.com/prometheus/procfs v0.0.3 // indirect
|
|
||||||
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7
|
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7
|
||||||
github.com/sirupsen/logrus v1.4.2
|
github.com/sirupsen/logrus v1.4.2
|
||||||
github.com/soheilhy/cmux v0.1.4 // indirect
|
github.com/soheilhy/cmux v0.1.4 // indirect
|
||||||
github.com/spf13/cobra v0.0.5
|
github.com/spf13/cobra v0.0.5
|
||||||
github.com/stretchr/testify v1.3.0
|
github.com/stretchr/testify v1.3.0
|
||||||
|
github.com/testcontainers/testcontainers-go v0.0.9
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 // indirect
|
||||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
|
||||||
go.etcd.io/bbolt v1.3.3 // indirect
|
go.etcd.io/bbolt v1.3.3 // indirect
|
||||||
@ -49,7 +48,6 @@ require (
|
|||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422
|
golang.org/x/lint v0.0.0-20190409202823-959b441ac422
|
||||||
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7
|
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
|
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
|
||||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // indirect
|
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
|
||||||
golang.org/x/tools v0.0.0-20190813214729-9dba7caff850 // indirect
|
golang.org/x/tools v0.0.0-20190813214729-9dba7caff850 // indirect
|
||||||
google.golang.org/api v0.10.0
|
google.golang.org/api v0.10.0
|
||||||
|
101
go.sum
101
go.sum
@ -3,7 +3,15 @@ cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg=
|
|||||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=
|
cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=
|
||||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||||
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
||||||
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/Microsoft/go-winio v0.4.11 h1:zoIOcVf0xPN1tnMVbTtEdI+P8OofVk3NObnwOQ6nK2Q=
|
||||||
|
github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
|
||||||
|
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA=
|
||||||
|
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
|
||||||
|
github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg=
|
||||||
|
github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
@ -12,7 +20,19 @@ github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62
|
|||||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=
|
github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=
|
||||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
|
github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||||
|
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
|
||||||
|
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
|
github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
|
||||||
|
github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
|
||||||
|
github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||||
|
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8=
|
||||||
|
github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
|
||||||
|
github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
|
||||||
|
github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
|
||||||
|
github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
|
||||||
|
github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
|
||||||
github.com/coreos/bbolt v1.3.3 h1:n6AiVyVRKQFNb6mJlwESEvvLoDyiTzXX7ORAUlkeBdY=
|
github.com/coreos/bbolt v1.3.3 h1:n6AiVyVRKQFNb6mJlwESEvvLoDyiTzXX7ORAUlkeBdY=
|
||||||
github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
@ -25,6 +45,7 @@ github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazu
|
|||||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
|
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
|
||||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c=
|
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c=
|
||||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg=
|
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg=
|
||||||
@ -35,19 +56,34 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
|
|||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
|
||||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
|
github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible h1:dvc1KSkIYTVjZgHf/CTC2diTYC8PzhaA5sFISRfNVrE=
|
||||||
|
github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
|
github.com/docker/docker v0.7.3-0.20190506211059-b20a14b54661 h1:ZuxGvIvF01nfc/G9RJ5Q7Va1zQE2WJyG18Zv3DqCEf4=
|
||||||
|
github.com/docker/docker v0.7.3-0.20190506211059-b20a14b54661/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
|
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
|
||||||
|
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
|
||||||
|
github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk=
|
||||||
|
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||||
|
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
|
||||||
|
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||||
github.com/felixge/httpsnoop v1.0.0 h1:gh8fMGz0rlOv/1WmRZm7OgncIOTsAj21iNJot48omJQ=
|
github.com/felixge/httpsnoop v1.0.0 h1:gh8fMGz0rlOv/1WmRZm7OgncIOTsAj21iNJot48omJQ=
|
||||||
github.com/felixge/httpsnoop v1.0.0/go.mod h1:3+D9sFq0ahK/JeJPhCBUV1xlf4/eIYrUQaxulT0VzX8=
|
github.com/felixge/httpsnoop v1.0.0/go.mod h1:3+D9sFq0ahK/JeJPhCBUV1xlf4/eIYrUQaxulT0VzX8=
|
||||||
|
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
||||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
|
github.com/go-redis/redis v6.15.6+incompatible h1:H9evprGPLI8+ci7fxQx6WNZHJSb7be8FqJQRhdQZ5Sg=
|
||||||
|
github.com/go-redis/redis v6.15.6+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
|
||||||
github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
|
github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
|
||||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
|
github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
|
||||||
github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
|
github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
|
||||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
|
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
|
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
|
||||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
|
||||||
@ -72,13 +108,15 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI
|
|||||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
|
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||||
|
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||||
github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg=
|
github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg=
|
||||||
github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
|
github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
|
||||||
|
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||||
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
|
||||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||||
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
|
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
|
||||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:BWIsLfhgKhV5g/oF34aRjniBHLTZe5DNekSjbAjIS6c=
|
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0 h1:Iju5GlWwrvL6UBg4zJJt3btmonfrMlCDdsejg4CZE7c=
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
|
||||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||||
@ -86,10 +124,14 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1
|
|||||||
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||||
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0=
|
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69 h1:7xsUJsB2NrdcttQPa7JLEaGzvdbk7KvfrjgHZXOQRo0=
|
||||||
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo=
|
github.com/gtank/cryptopasta v0.0.0-20170601214702-1f550f6f2f69/go.mod h1:YLEMZOtU+AZ7dhN9T/IpGhXVGly2bvkJQ+zxj3WeVQo=
|
||||||
|
github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||||
|
github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
|
||||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||||
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
|
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
|
||||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||||
|
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
||||||
|
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||||
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
||||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||||
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
|
||||||
@ -127,7 +169,24 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
|
|||||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
|
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE=
|
||||||
|
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||||
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
|
||||||
|
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
|
||||||
|
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||||
|
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||||
|
github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
|
||||||
|
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||||
|
github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
|
||||||
|
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
|
||||||
|
github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||||
|
github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y=
|
||||||
|
github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||||
|
github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
|
github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
|
||||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
@ -147,13 +206,16 @@ github.com/prometheus/common v0.6.0 h1:kRhiuYSXR3+uv2IbVbZhUxK5zVD/2pp3Gd2PpvPkp
|
|||||||
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
|
github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
|
||||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||||
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE=
|
github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8=
|
||||||
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
||||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao=
|
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao=
|
||||||
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM=
|
github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM=
|
||||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||||
|
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
|
||||||
|
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
|
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
|
||||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||||
github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=
|
github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=
|
||||||
@ -172,9 +234,16 @@ github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1
|
|||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
||||||
|
github.com/testcontainers/testcontainers-go v0.0.9 h1:mwvFz+FkuQMqQ9oLkG4cVzPsZTRmrCo2NcaerJNaptA=
|
||||||
|
github.com/testcontainers/testcontainers-go v0.0.9/go.mod h1:0Qe9qqjNZgxHzzdHPWwmQ2D49FFO7920hLdJ4yUJXJI=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
|
||||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||||
|
github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||||
|
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
||||||
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
|
||||||
|
github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
|
||||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
|
||||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||||
@ -182,6 +251,8 @@ go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk=
|
|||||||
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||||
go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg=
|
go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg=
|
||||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||||
|
go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
|
||||||
|
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
||||||
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
||||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
|
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
|
||||||
@ -204,12 +275,14 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422 h1:QzoH/1pFpZguR8NrRHLcO6jK
|
|||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
|
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
@ -225,19 +298,24 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTm
|
|||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo=
|
||||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||||
@ -246,6 +324,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180810170437-e96c4e24768d/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||||
@ -268,9 +348,11 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww
|
|||||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
|
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64 h1:iKtrH9Y8mcbADOP0YFaEMth7OfuHY9xHOwNj4znpM1A=
|
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64 h1:iKtrH9Y8mcbADOP0YFaEMth7OfuHY9xHOwNj4znpM1A=
|
||||||
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||||
|
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||||
google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A=
|
google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A=
|
||||||
@ -281,16 +363,25 @@ gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUy
|
|||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
||||||
|
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||||
gopkg.in/ldap.v2 v2.5.1 h1:wiu0okdNfjlBzg6UWvd1Hn8Y+Ux17/u/4nlk4CQr6tU=
|
gopkg.in/ldap.v2 v2.5.1 h1:wiu0okdNfjlBzg6UWvd1Hn8Y+Ux17/u/4nlk4CQr6tU=
|
||||||
gopkg.in/ldap.v2 v2.5.1/go.mod h1:oI0cpe/D7HRtBQl8aTg+ZmzFUAvu4lsv3eLXMLGFxWk=
|
gopkg.in/ldap.v2 v2.5.1/go.mod h1:oI0cpe/D7HRtBQl8aTg+ZmzFUAvu4lsv3eLXMLGFxWk=
|
||||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||||
gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4=
|
gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4=
|
||||||
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||||
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||||
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||||
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gotest.tools v0.0.0-20181223230014-1083505acf35/go.mod h1:R//lfYlUuTOTfblYI3lGoAAAebUdzjvbmQsuB7Ykd90=
|
||||||
|
gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
|
||||||
|
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
|
||||||
|
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||||
|
k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -220,12 +221,24 @@ func TestPostgres(t *testing.T) {
|
|||||||
if host == "" {
|
if host == "" {
|
||||||
t.Skipf("test environment variable %q not set, skipping", testPostgresEnv)
|
t.Skipf("test environment variable %q not set, skipping", testPostgresEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
port := uint64(5432)
|
||||||
|
if rawPort := os.Getenv("DEX_POSTGRES_PORT"); rawPort != "" {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
port, err = strconv.ParseUint(rawPort, 10, 32)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("invalid postgres port %q: %s", rawPort, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
p := &Postgres{
|
p := &Postgres{
|
||||||
NetworkDB: NetworkDB{
|
NetworkDB: NetworkDB{
|
||||||
Database: getenv("DEX_POSTGRES_DATABASE", "postgres"),
|
Database: getenv("DEX_POSTGRES_DATABASE", "postgres"),
|
||||||
User: getenv("DEX_POSTGRES_USER", "postgres"),
|
User: getenv("DEX_POSTGRES_USER", "postgres"),
|
||||||
Password: getenv("DEX_POSTGRES_PASSWORD", "postgres"),
|
Password: getenv("DEX_POSTGRES_PASSWORD", "postgres"),
|
||||||
Host: host,
|
Host: host,
|
||||||
|
Port: uint16(port),
|
||||||
ConnectionTimeout: 5,
|
ConnectionTimeout: 5,
|
||||||
},
|
},
|
||||||
SSL: SSL{
|
SSL: SSL{
|
||||||
@ -242,12 +255,24 @@ func TestMySQL(t *testing.T) {
|
|||||||
if host == "" {
|
if host == "" {
|
||||||
t.Skipf("test environment variable %q not set, skipping", testMySQLEnv)
|
t.Skipf("test environment variable %q not set, skipping", testMySQLEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
port := uint64(3306)
|
||||||
|
if rawPort := os.Getenv("DEX_MYSQL_PORT"); rawPort != "" {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
port, err = strconv.ParseUint(rawPort, 10, 32)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("invalid mysql port %q: %s", rawPort, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
s := &MySQL{
|
s := &MySQL{
|
||||||
NetworkDB: NetworkDB{
|
NetworkDB: NetworkDB{
|
||||||
Database: getenv("DEX_MYSQL_DATABASE", "mysql"),
|
Database: getenv("DEX_MYSQL_DATABASE", "mysql"),
|
||||||
User: getenv("DEX_MYSQL_USER", "mysql"),
|
User: getenv("DEX_MYSQL_USER", "mysql"),
|
||||||
Password: getenv("DEX_MYSQL_PASSWORD", ""),
|
Password: getenv("DEX_MYSQL_PASSWORD", ""),
|
||||||
Host: host,
|
Host: host,
|
||||||
|
Port: uint16(port),
|
||||||
ConnectionTimeout: 5,
|
ConnectionTimeout: 5,
|
||||||
},
|
},
|
||||||
SSL: SSL{
|
SSL: SSL{
|
||||||
|
@ -4,6 +4,7 @@ package sql
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -12,12 +13,24 @@ func TestPostgresTunables(t *testing.T) {
|
|||||||
if host == "" {
|
if host == "" {
|
||||||
t.Skipf("test environment variable %q not set, skipping", testPostgresEnv)
|
t.Skipf("test environment variable %q not set, skipping", testPostgresEnv)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
port := uint64(5432)
|
||||||
|
if rawPort := os.Getenv("DEX_POSTGRES_PORT"); rawPort != "" {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
port, err = strconv.ParseUint(rawPort, 10, 32)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("invalid postgres port %q: %s", rawPort, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
baseCfg := &Postgres{
|
baseCfg := &Postgres{
|
||||||
NetworkDB: NetworkDB{
|
NetworkDB: NetworkDB{
|
||||||
Database: getenv("DEX_POSTGRES_DATABASE", "postgres"),
|
Database: getenv("DEX_POSTGRES_DATABASE", "postgres"),
|
||||||
User: getenv("DEX_POSTGRES_USER", "postgres"),
|
User: getenv("DEX_POSTGRES_USER", "postgres"),
|
||||||
Password: getenv("DEX_POSTGRES_PASSWORD", "postgres"),
|
Password: getenv("DEX_POSTGRES_PASSWORD", "postgres"),
|
||||||
Host: host,
|
Host: host,
|
||||||
|
Port: uint16(port),
|
||||||
},
|
},
|
||||||
SSL: SSL{
|
SSL: SSL{
|
||||||
Mode: pgSSLDisable, // Postgres container doesn't support SSL.
|
Mode: pgSSLDisable, // Postgres container doesn't support SSL.
|
||||||
|
Reference in New Issue
Block a user