From 621236b483e37f95549bdc481932711d7df03ff7 Mon Sep 17 00:00:00 2001 From: Ben Murphy Date: Mon, 14 Apr 2014 11:09:54 +0100 Subject: [PATCH 1/3] use crypto md5 --- src/pgsql_connection.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pgsql_connection.erl b/src/pgsql_connection.erl index 1ca8c0d..ca4948f 100644 --- a/src/pgsql_connection.erl +++ b/src/pgsql_connection.erl @@ -606,9 +606,9 @@ pgsql_setup_authenticate_md5_password(Socket, Salt, #state{options = Options} = User = proplists:get_value(user, Options, ?DEFAULT_USER), Password = proplists:get_value(password, Options, ?DEFAULT_PASSWORD), % concat('md5', md5(concat(md5(concat(password, username)), random-salt))) - <> = crypto:md5([Password, User]), + <> = crypto:hash(md5, [Password, User]), MD51Hex = io_lib:format("~32.16.0b", [MD51Int]), - <> = crypto:md5([MD51Hex, Salt]), + <> = crypto:hash(md5, [MD51Hex, Salt]), MD52Hex = io_lib:format("~32.16.0b", [MD52Int]), MD5ChallengeResponse = ["md5", MD52Hex], pgsql_setup_authenticate_password(Socket, MD5ChallengeResponse, State0). From 03448d9549f4beedf1d0cccd419ffcf03dbd926b Mon Sep 17 00:00:00 2001 From: Ben Murphy Date: Mon, 14 Apr 2014 11:16:59 +0100 Subject: [PATCH 2/3] fix bad match --- src/pgsql_connection.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pgsql_connection.erl b/src/pgsql_connection.erl index ca4948f..9c168eb 100644 --- a/src/pgsql_connection.erl +++ b/src/pgsql_connection.erl @@ -1108,7 +1108,11 @@ update_oid_map(#state{} = State0) -> -spec set_passive_or_reconnect_if_required(#state{}) -> #state{}. set_passive_or_reconnect_if_required(#state{socket = closed, options = Options} = State0) -> case proplists:get_value(reconnect, Options, true) of - true -> pgsql_open(State0); + true -> + case pgsql_open(State0) of + {ok, State1} -> State1; + {error, _Reason} -> State0 + end; false -> State0 end; set_passive_or_reconnect_if_required(#state{socket = {gen_tcp, Socket}} = State0) -> From 52c6e1e06cbe029be13f75769c372cb9dcc66a25 Mon Sep 17 00:00:00 2001 From: Ben Murphy Date: Wed, 7 Mar 2018 11:30:58 +0000 Subject: [PATCH 3/3] fix R20 compile error --- src/pgsql_connection.erl | 2 +- src/pgsql_protocol.erl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pgsql_connection.erl b/src/pgsql_connection.erl index 9c168eb..a536be8 100644 --- a/src/pgsql_connection.erl +++ b/src/pgsql_connection.erl @@ -138,7 +138,7 @@ backend_procid :: integer(), backend_secret :: integer(), integer_datetimes :: boolean(), - oidmap :: gb_tree(), + oidmap :: any(), current :: {tuple(), reference(), from()} | undefined | {tuple(), from()}, pending :: [{tuple(), reference(), from()}] | [{tuple(), from()}], statement_timeout :: non_neg_integer() diff --git a/src/pgsql_protocol.erl b/src/pgsql_protocol.erl index 94c18e6..79bb9e6 100644 --- a/src/pgsql_protocol.erl +++ b/src/pgsql_protocol.erl @@ -523,7 +523,7 @@ decode_string(Binary) -> %%-------------------------------------------------------------------- %% @doc Decode a row format. %% --spec decode_row([#row_description_field{}], [binary()], gb_tree(), boolean()) -> tuple(). +-spec decode_row([#row_description_field{}], [binary()], any(), boolean()) -> tuple(). decode_row(Descs, Values, OIDMap, IntegerDateTimes) -> decode_row0(Descs, Values, OIDMap, IntegerDateTimes, []).