summaryrefslogtreecommitdiff
path: root/vendor/github.com/jackc/pgpassfile
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/jackc/pgpassfile')
-rw-r--r--vendor/github.com/jackc/pgpassfile/.travis.yml9
-rw-r--r--vendor/github.com/jackc/pgpassfile/LICENSE22
-rw-r--r--vendor/github.com/jackc/pgpassfile/README.md8
-rw-r--r--vendor/github.com/jackc/pgpassfile/pgpass.go110
4 files changed, 0 insertions, 149 deletions
diff --git a/vendor/github.com/jackc/pgpassfile/.travis.yml b/vendor/github.com/jackc/pgpassfile/.travis.yml
deleted file mode 100644
index e176228e8..000000000
--- a/vendor/github.com/jackc/pgpassfile/.travis.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-language: go
-
-go:
- - 1.x
- - tip
-
-matrix:
- allow_failures:
- - go: tip
diff --git a/vendor/github.com/jackc/pgpassfile/LICENSE b/vendor/github.com/jackc/pgpassfile/LICENSE
deleted file mode 100644
index c1c4f50fc..000000000
--- a/vendor/github.com/jackc/pgpassfile/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2019 Jack Christensen
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/vendor/github.com/jackc/pgpassfile/README.md b/vendor/github.com/jackc/pgpassfile/README.md
deleted file mode 100644
index 661289ed8..000000000
--- a/vendor/github.com/jackc/pgpassfile/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-[![](https://godoc.org/github.com/jackc/pgpassfile?status.svg)](https://godoc.org/github.com/jackc/pgpassfile)
-[![Build Status](https://travis-ci.org/jackc/pgpassfile.svg)](https://travis-ci.org/jackc/pgpassfile)
-
-# pgpassfile
-
-Package pgpassfile is a parser PostgreSQL .pgpass files.
-
-Extracted and rewritten from original implementation in https://github.com/jackc/pgx.
diff --git a/vendor/github.com/jackc/pgpassfile/pgpass.go b/vendor/github.com/jackc/pgpassfile/pgpass.go
deleted file mode 100644
index f7eed3c84..000000000
--- a/vendor/github.com/jackc/pgpassfile/pgpass.go
+++ /dev/null
@@ -1,110 +0,0 @@
-// Package pgpassfile is a parser PostgreSQL .pgpass files.
-package pgpassfile
-
-import (
- "bufio"
- "io"
- "os"
- "regexp"
- "strings"
-)
-
-// Entry represents a line in a PG passfile.
-type Entry struct {
- Hostname string
- Port string
- Database string
- Username string
- Password string
-}
-
-// Passfile is the in memory data structure representing a PG passfile.
-type Passfile struct {
- Entries []*Entry
-}
-
-// ReadPassfile reads the file at path and parses it into a Passfile.
-func ReadPassfile(path string) (*Passfile, error) {
- f, err := os.Open(path)
- if err != nil {
- return nil, err
- }
- defer f.Close()
-
- return ParsePassfile(f)
-}
-
-// ParsePassfile reads r and parses it into a Passfile.
-func ParsePassfile(r io.Reader) (*Passfile, error) {
- passfile := &Passfile{}
-
- scanner := bufio.NewScanner(r)
- for scanner.Scan() {
- entry := parseLine(scanner.Text())
- if entry != nil {
- passfile.Entries = append(passfile.Entries, entry)
- }
- }
-
- return passfile, scanner.Err()
-}
-
-// Match (not colons or escaped colon or escaped backslash)+. Essentially gives a split on unescaped
-// colon.
-var colonSplitterRegexp = regexp.MustCompile("(([^:]|(\\:)))+")
-
-// var colonSplitterRegexp = regexp.MustCompile("((?:[^:]|(?:\\:)|(?:\\\\))+)")
-
-// parseLine parses a line into an *Entry. It returns nil on comment lines or any other unparsable
-// line.
-func parseLine(line string) *Entry {
- const (
- tmpBackslash = "\r"
- tmpColon = "\n"
- )
-
- line = strings.TrimSpace(line)
-
- if strings.HasPrefix(line, "#") {
- return nil
- }
-
- line = strings.Replace(line, `\\`, tmpBackslash, -1)
- line = strings.Replace(line, `\:`, tmpColon, -1)
-
- parts := strings.Split(line, ":")
- if len(parts) != 5 {
- return nil
- }
-
- // Unescape escaped colons and backslashes
- for i := range parts {
- parts[i] = strings.Replace(parts[i], tmpBackslash, `\`, -1)
- parts[i] = strings.Replace(parts[i], tmpColon, `:`, -1)
- }
-
- return &Entry{
- Hostname: parts[0],
- Port: parts[1],
- Database: parts[2],
- Username: parts[3],
- Password: parts[4],
- }
-}
-
-// FindPassword finds the password for the provided hostname, port, database, and username. For a
-// Unix domain socket hostname must be set to "localhost". An empty string will be returned if no
-// match is found.
-//
-// See https://www.postgresql.org/docs/current/libpq-pgpass.html for more password file information.
-func (pf *Passfile) FindPassword(hostname, port, database, username string) (password string) {
- for _, e := range pf.Entries {
- if (e.Hostname == "*" || e.Hostname == hostname) &&
- (e.Port == "*" || e.Port == port) &&
- (e.Database == "*" || e.Database == database) &&
- (e.Username == "*" || e.Username == username) {
- return e.Password
- }
- }
- return ""
-}