3073 Commits

Author SHA1 Message Date
Jack Christensen
24f1d26fde Upgrade pgconn and pgtype 2021-07-24 10:55:24 -05:00
Jack Christensen
53f5fed36c Release v1.10.0 2021-07-24 10:52:26 -05:00
Jack Christensen
e26c6b4e3d Release v1.8.1 2021-07-24 10:50:22 -05:00
Jack Christensen
377eed5d2f Cleaning go.sum 2021-07-24 10:48:07 -05:00
Jack Christensen
c16a4f7d6a Revert "Temporarily delete tests and pgxtype to break recursive dependency with pgx"
This reverts commit 32e20a603178b49fb189d1be971d0fb6960cabb2.
2021-07-24 10:40:30 -05:00
Jack Christensen
640aa07df1 Temporary step to clean up go.sum 2021-07-24 10:39:13 -05:00
Jack Christensen
d89c8390a5 Update dependencies and go mod tidy 2021-07-24 10:25:38 -05:00
Jack Christensen
32e20a6031 Temporarily delete tests and pgxtype to break recursive dependency with pgx 2021-07-24 10:16:00 -05:00
Jack Christensen
7d0a620dda Upgrade pgx version used for tests 2021-07-24 09:20:54 -05:00
Jack Christensen
6996e8d6c5 Context errors returned instead of net.Error
The net.Error caused by using SetDeadline to implement context
cancellation shouldn't leak.

fixes #80
2021-07-24 09:09:22 -05:00
Michael Darr
59fa1868a7 Support time durations for simple protocol
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-17 09:01:57 -05:00
KeiichiHirobe
1470d69c58 go mod tidy 2021-07-17 08:39:31 -05:00
KeiichiHirobe
48f39340b3 switch from github.com/go-kit/kit/log to github.com/go-kit/log 2021-07-17 08:39:31 -05:00
Jack Christensen
9ee04e87e3 Release v4.12.0 v4.12.0 2021-07-10 10:06:00 -05:00
Jack Christensen
785f279272 Upgrade dependencies 2021-07-10 10:02:16 -05:00
Jack Christensen
dcdc3eaec7 Release v1.8.0 2021-07-10 09:58:12 -05:00
Jack Christensen
13d454882b Release v1.9.0 2021-07-10 09:54:39 -05:00
Jack Christensen
5b7c6a3c8e Upgrade to pgproto3 v2.1.1 2021-07-10 09:54:24 -05:00
Michael Darr
a50d96d491 Make timeout error private
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-07 18:14:36 -05:00
Michael Darr
9a9830c00d Always double-wrap contextAlreadyDoneError
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-07 18:14:36 -05:00
Michael Darr
b3e64d3cdb Simplify SafeToRetry for ErrTimeout
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-07 18:14:36 -05:00
Michael Darr
c0b4d3bc05 Implement timeout error
Signed-off-by: Michael Darr <michael.e.darr@gmail.com>
2021-07-07 18:14:36 -05:00
Yuli Khodorkovskiy
033ca7d47f Fix unexpected EOF failure for StartupMessage 2021-07-07 18:10:44 -05:00
Nicholas Wilson
aafa04c156 Use zap.Any for handling interface{} -> zap.Field conversion
zap.Any falls back to zap.Reflect, but is better for this case, because
it first checks for the types that zap handles specially.  For example,
time.Duration, or error, which zap.Reflect will just treat as untyped
int64 or struct objects, but zap.Any is able to detect these types and
print them properly.
2021-07-06 20:18:16 -05:00
Jack Christensen
6bce4a1878
Merge pull request #19 from gitstashpop/backend-unexpected-eof
Extend handling of unexpected EOF to the backend
2021-07-06 20:08:14 -05:00
Jack Christensen
aaef9bbc35
Merge branch 'master' into backend-unexpected-eof 2021-07-06 20:07:55 -05:00
Yuli Khodorkovskiy
2d3823838e Perform StartupMessage length validation
PG provides a maximum size for a StartupMessage:
https://doxygen.postgresql.org/pqcomm_8h.html#a4c50c668c551887ac3a49872130349e3

Limiting the size ensures a malicious user doesn't send an
overwhelmingly large StartupMessage which could DOS a Go binary that
uses pgproto3.
2021-07-06 20:01:33 -05:00
Cameron Daniel
3eceab0f38 Maintain host bits for inet types 2021-07-06 19:59:41 -05:00
Yuli Khodorkovskiy
10c6c50ac9
Extend handling of unexpected EOF to the backend
In the original issue [1] and commit [2], support for unexpected EOF was
added to the frontend to detect when a connection was closed abruptly.
Additionally, this allows us to differentiate normal io.EOF errors with
unexpected errors in the backend.

[1] https://github.com/jackc/pgx/issues/662/
[2] 595780be0f
2021-07-01 17:53:14 -04:00
Joshua Brindle
a123e5b4e5 Add defaults for sslcert, sslkey, and sslrootcert
per https://www.postgresql.org/docs/current/libpq-ssl.html
psql will use client certs located in ~/.postgresql on posix systems
or %APPDATA%\postgresql on Windows systems.
2021-06-26 11:25:41 -05:00
Aliaksandr Mianzhynski
4a2209a1b4 Don't allocate buffer when tx opts are empty 2021-06-26 10:52:09 -05:00
Jack Christensen
2ca304d461 pgtype.Inet preserves masked address portion
fixes #111
2021-06-26 10:49:56 -05:00
mgoddard
bf76d1ed51 Solve issue with 'sslmode=verify-full' when there are multiple hosts 2021-06-19 10:14:17 -05:00
Sivabalan Thirunavukkarasu
bacf81fb4e Bumping versions for other dependencies 2021-06-19 10:06:47 -05:00
Sivabalan Thirunavukkarasu
cfcd61d0cb Updating dependency versions 2021-06-19 10:06:47 -05:00
Sivabalan Thirunavukkarasu
2c22da0155 Bumping versions for other dependencies 2021-06-19 10:06:24 -05:00
Sivabalan Thirunavukkarasu
821e0521e4 Updating dependency versions 2021-06-19 10:06:24 -05:00
Yuli Khodorkovskiy
7c9e840726 Add support for identifying authentication messages
The pgprotocol overloads 'p' messages with PasswordMessage,
SASLInitialResponse, SASLResponse, and GSSResponse. This patch allows
contextual identification of the message by setting the authType in the
frontend and then setting this value in the backend when a
AuthenticationResponseMessage is received.
2021-06-12 13:54:34 -05:00
Dmytro Haranzha
cabb58cc40 ResetSession hook is called before a connection is reused from pool for another query. 2021-06-12 13:48:31 -05:00
Yuli Khodorkovskiy
28c20e93c0 Fix json marshal/unmarshal implementations
Fix marshal/unmarshal for:
- authentication_{cleartext_password, md5_password, ok, sasl, sasl_continue, sasl_final}
- error_response
2021-05-29 11:06:05 -05:00
Henrique Vicente
9c2c389e06 json: fix implementation of json Unmarshalers.
* AuthenticationMD5Password was wrong and is not needed
* Bind was wrong
* ErrorResponse is not needed
* Minor improvements for reliability
2021-05-22 11:34:25 -05:00
Henrique Vicente
ba924e5715 json: Implement json.Unmarshaler for messages.
This will allow using pgmockproxy output as ingestion data for pgmock.
2021-05-22 11:34:25 -05:00
Ivan Daunis
5bca076182 Refactor to interface convert 2021-05-22 11:33:42 -05:00
Ivan Daunis
0977e29341 Support pointers of wrapping structs 2021-05-22 11:33:42 -05:00
Jack Christensen
fb42201c18 Fix default host when parsing URL without host but with port
fixes https://github.com/jackc/pgconn/issues/72
2021-05-14 18:39:31 -05:00
dkinder
00feeaa5c9 stdlib: style nit in RandomizeHostOrderFunc 2021-05-10 08:17:53 -05:00
dkinder
a8020a21e8 stdlib: add OptionBeforeConnect and randomizer
Fixes https://github.com/jackc/pgconn/issues/71
2021-05-10 08:17:53 -05:00
Rueian
cae98b5e45
Register JSONBArray at NewConnInfo() 2021-05-03 22:20:58 +08:00
Jack Christensen
4380e23ae1 CompositeTextScanner handles backslash escapes
fixes https://github.com/jackc/pgx/issues/874
2021-04-24 08:08:34 -05:00
alex
e722ca608c added url connection example 2021-04-17 09:56:17 -05:00