Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
53a5026b
Commit
53a5026b
authored
Oct 28, 2008
by
Magnus Hagander
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove support for (insecure) crypt authentication.
This breaks compatibility with pre-7.2 versions.
parent
ba4eb015
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
30 additions
and
200 deletions
+30
-200
doc/src/sgml/client-auth.sgml
doc/src/sgml/client-auth.sgml
+5
-32
doc/src/sgml/protocol.sgml
doc/src/sgml/protocol.sgml
+1
-69
doc/src/sgml/user-manag.sgml
doc/src/sgml/user-manag.sgml
+3
-3
src/backend/libpq/auth.c
src/backend/libpq/auth.c
+1
-9
src/backend/libpq/crypt.c
src/backend/libpq/crypt.c
+1
-17
src/backend/libpq/hba.c
src/backend/libpq/hba.c
+1
-3
src/backend/postmaster/postmaster.c
src/backend/postmaster/postmaster.c
+6
-35
src/include/libpq/hba.h
src/include/libpq/hba.h
+1
-2
src/include/libpq/libpq-be.h
src/include/libpq/libpq-be.h
+1
-2
src/include/libpq/pqcomm.h
src/include/libpq/pqcomm.h
+2
-2
src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-auth.c
+6
-14
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-connect.c
+1
-10
src/interfaces/libpq/libpq-int.h
src/interfaces/libpq/libpq-int.h
+1
-2
No files found.
doc/src/sgml/client-auth.sgml
View file @
53a5026b
<!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.1
09 2008/10/23 13:31:09
mha Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.1
10 2008/10/28 12:10:42
mha Exp $ -->
<chapter id="client-authentication">
<chapter id="client-authentication">
<title>Client Authentication</title>
<title>Client Authentication</title>
...
@@ -315,24 +315,6 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
...
@@ -315,24 +315,6 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
</listitem>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term><literal>crypt</></term>
<listitem>
<note>
<para>
This option is recommended only for communicating with pre-7.2
clients.
</para>
</note>
<para>
Require the client to supply a <function>crypt()</>-encrypted
password for authentication.
<literal>md5</literal> is now recommended over <literal>crypt</>.
See <xref linkend="auth-password"> for details.
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term><literal>password</></term>
<term><literal>password</></term>
<listitem>
<listitem>
...
@@ -704,9 +686,6 @@ omicron bryanh guest1
...
@@ -704,9 +686,6 @@ omicron bryanh guest1
<indexterm>
<indexterm>
<primary>MD5</>
<primary>MD5</>
</indexterm>
</indexterm>
<indexterm>
<primary>crypt</>
</indexterm>
<indexterm>
<indexterm>
<primary>password</primary>
<primary>password</primary>
<secondary>authentication</secondary>
<secondary>authentication</secondary>
...
@@ -714,21 +693,15 @@ omicron bryanh guest1
...
@@ -714,21 +693,15 @@ omicron bryanh guest1
<para>
<para>
The password-based authentication methods are <literal>md5</>,
The password-based authentication methods are <literal>md5</>,
<literal>crypt</>,
and <literal>password</>. These methods operate
and <literal>password</>. These methods operate
similarly except for the way that the password is sent across the
similarly except for the way that the password is sent across the
connection: respectively, MD5-hashed, crypt-encrypted, and clear-text.
connection: respectively, MD5-hashed and clear-text.
A limitation is that the <literal>crypt</> method does not work with
passwords that have been encrypted in <structname>pg_authid</structname>.
</para>
</para>
<para>
<para>
If you are at all concerned about password
If you are at all concerned about password
<quote>sniffing</> attacks then <literal>md5</> is preferred, with
<quote>sniffing</> attacks then <literal>md5</> is preferred.
<literal>crypt</> to be used only if you must support pre-7.2
Plain <literal>password</> should always be avoided if possible.
clients. Plain <literal>password</> should be avoided especially for
connections over the open Internet (unless you use <acronym>SSL</acronym>,
<acronym>SSH</>, or another
communications security wrapper around the connection).
</para>
</para>
<para>
<para>
...
...
doc/src/sgml/protocol.sgml
View file @
53a5026b
<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.7
3 2008/02/08 18:18:05 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/protocol.sgml,v 1.7
4 2008/10/28 12:10:42 mha
Exp $ -->
<chapter id="protocol">
<chapter id="protocol">
<title>Frontend/Backend Protocol</title>
<title>Frontend/Backend Protocol</title>
...
@@ -295,19 +295,6 @@
...
@@ -295,19 +295,6 @@
</listitem>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>AuthenticationCryptPassword</term>
<listitem>
<para>
The frontend must now send a PasswordMessage containing the
password encrypted via crypt(3), using the 2-character salt
specified in the AuthenticationCryptPassword message. If
this is the correct password, the server responds with an
AuthenticationOk, otherwise it responds with an ErrorResponse.
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>AuthenticationMD5Password</term>
<term>AuthenticationMD5Password</term>
<listitem>
<listitem>
...
@@ -1531,61 +1518,6 @@ AuthenticationCleartextPassword (B)
...
@@ -1531,61 +1518,6 @@ AuthenticationCleartextPassword (B)
</varlistentry>
</varlistentry>
<varlistentry>
<term>
AuthenticationCryptPassword (B)
</term>
<listitem>
<para>
<variablelist>
<varlistentry>
<term>
Byte1('R')
</term>
<listitem>
<para>
Identifies the message as an authentication request.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32(10)
</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Int32(4)
</term>
<listitem>
<para>
Specifies that a crypt()-encrypted password is required.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
Byte2
</term>
<listitem>
<para>
The salt to use when encrypting the password.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>
<term>
AuthenticationMD5Password (B)
AuthenticationMD5Password (B)
...
...
doc/src/sgml/user-manag.sgml
View file @
53a5026b
<!-- $PostgreSQL: pgsql/doc/src/sgml/user-manag.sgml,v 1.4
0 2008/09/08 00:47:40 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/user-manag.sgml,v 1.4
1 2008/10/28 12:10:42 mha
Exp $ -->
<chapter id="user-manag">
<chapter id="user-manag">
<title>Database Roles and Privileges</title>
<title>Database Roles and Privileges</title>
...
@@ -215,8 +215,8 @@ CREATE USER <replaceable>name</replaceable>;
...
@@ -215,8 +215,8 @@ CREATE USER <replaceable>name</replaceable>;
<para>
<para>
A password is only significant if the client authentication
A password is only significant if the client authentication
method requires the user to supply a password when connecting
method requires the user to supply a password when connecting
to the database. The <option>password</>
,
to the database. The <option>password</>
and
<option>md5</>
, and <option>crypt</>
authentication methods
<option>md5</> authentication methods
make use of passwords. Database passwords are separate from
make use of passwords. Database passwords are separate from
operating system passwords. Specify a password upon role
operating system passwords. Specify a password upon role
creation with <literal>CREATE ROLE
creation with <literal>CREATE ROLE
...
...
src/backend/libpq/auth.c
View file @
53a5026b
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.1
69 2008/10/23 13:31:10
mha Exp $
* $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.1
70 2008/10/28 12:10:43
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -230,7 +230,6 @@ auth_failed(Port *port, int status)
...
@@ -230,7 +230,6 @@ auth_failed(Port *port, int status)
errstr
=
gettext_noop
(
"Ident authentication failed for user
\"
%s
\"
"
);
errstr
=
gettext_noop
(
"Ident authentication failed for user
\"
%s
\"
"
);
break
;
break
;
case
uaMD5
:
case
uaMD5
:
case
uaCrypt
:
case
uaPassword
:
case
uaPassword
:
errstr
=
gettext_noop
(
"password authentication failed for user
\"
%s
\"
"
);
errstr
=
gettext_noop
(
"password authentication failed for user
\"
%s
\"
"
);
break
;
break
;
...
@@ -373,11 +372,6 @@ ClientAuthentication(Port *port)
...
@@ -373,11 +372,6 @@ ClientAuthentication(Port *port)
status
=
recv_and_check_password_packet
(
port
);
status
=
recv_and_check_password_packet
(
port
);
break
;
break
;
case
uaCrypt
:
sendAuthRequest
(
port
,
AUTH_REQ_CRYPT
);
status
=
recv_and_check_password_packet
(
port
);
break
;
case
uaPassword
:
case
uaPassword
:
sendAuthRequest
(
port
,
AUTH_REQ_PASSWORD
);
sendAuthRequest
(
port
,
AUTH_REQ_PASSWORD
);
status
=
recv_and_check_password_packet
(
port
);
status
=
recv_and_check_password_packet
(
port
);
...
@@ -426,8 +420,6 @@ sendAuthRequest(Port *port, AuthRequest areq)
...
@@ -426,8 +420,6 @@ sendAuthRequest(Port *port, AuthRequest areq)
/* Add the salt for encrypted passwords. */
/* Add the salt for encrypted passwords. */
if
(
areq
==
AUTH_REQ_MD5
)
if
(
areq
==
AUTH_REQ_MD5
)
pq_sendbytes
(
&
buf
,
port
->
md5Salt
,
4
);
pq_sendbytes
(
&
buf
,
port
->
md5Salt
,
4
);
else
if
(
areq
==
AUTH_REQ_CRYPT
)
pq_sendbytes
(
&
buf
,
port
->
cryptSalt
,
2
);
#if defined(ENABLE_GSS) || defined(ENABLE_SSPI)
#if defined(ENABLE_GSS) || defined(ENABLE_SSPI)
...
...
src/backend/libpq/crypt.c
View file @
53a5026b
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $PostgreSQL: pgsql/src/backend/libpq/crypt.c,v 1.7
5 2008/09/15 12:32:56
mha Exp $
* $PostgreSQL: pgsql/src/backend/libpq/crypt.c,v 1.7
6 2008/10/28 12:10:43
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -53,14 +53,6 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass)
...
@@ -53,14 +53,6 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass)
if
(
shadow_pass
==
NULL
||
*
shadow_pass
==
'\0'
)
if
(
shadow_pass
==
NULL
||
*
shadow_pass
==
'\0'
)
return
STATUS_ERROR
;
return
STATUS_ERROR
;
/* We can't do crypt with MD5 passwords */
if
(
isMD5
(
shadow_pass
)
&&
port
->
hba
->
auth_method
==
uaCrypt
)
{
ereport
(
LOG
,
(
errmsg
(
"cannot use authentication method
\"
crypt
\"
because password is MD5-encrypted"
)));
return
STATUS_ERROR
;
}
/*
/*
* Compare with the encrypted or plain password depending on the
* Compare with the encrypted or plain password depending on the
* authentication method being used for this connection.
* authentication method being used for this connection.
...
@@ -106,14 +98,6 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass)
...
@@ -106,14 +98,6 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass)
pfree
(
crypt_pwd2
);
pfree
(
crypt_pwd2
);
}
}
break
;
break
;
case
uaCrypt
:
{
char
salt
[
3
];
strlcpy
(
salt
,
port
->
cryptSalt
,
sizeof
(
salt
));
crypt_pwd
=
crypt
(
shadow_pass
,
salt
);
break
;
}
default:
default:
if
(
isMD5
(
shadow_pass
))
if
(
isMD5
(
shadow_pass
))
{
{
...
...
src/backend/libpq/hba.c
View file @
53a5026b
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.17
1 2008/10/27 20:04:45
mha Exp $
* $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.17
2 2008/10/28 12:10:43
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -847,8 +847,6 @@ parse_hba_line(List *line, int line_num, HbaLine *parsedline)
...
@@ -847,8 +847,6 @@ parse_hba_line(List *line, int line_num, HbaLine *parsedline)
parsedline
->
auth_method
=
uaReject
;
parsedline
->
auth_method
=
uaReject
;
else
if
(
strcmp
(
token
,
"md5"
)
==
0
)
else
if
(
strcmp
(
token
,
"md5"
)
==
0
)
parsedline
->
auth_method
=
uaMD5
;
parsedline
->
auth_method
=
uaMD5
;
else
if
(
strcmp
(
token
,
"crypt"
)
==
0
)
parsedline
->
auth_method
=
uaCrypt
;
else
if
(
strcmp
(
token
,
"pam"
)
==
0
)
else
if
(
strcmp
(
token
,
"pam"
)
==
0
)
#ifdef USE_PAM
#ifdef USE_PAM
parsedline
->
auth_method
=
uaPAM
;
parsedline
->
auth_method
=
uaPAM
;
...
...
src/backend/postmaster/postmaster.c
View file @
53a5026b
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.56
5 2008/09/23 20:35:38 momjian
Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.56
6 2008/10/28 12:10:43 mha
Exp $
*
*
* NOTES
* NOTES
*
*
...
@@ -323,7 +323,7 @@ static int initMasks(fd_set *rmask);
...
@@ -323,7 +323,7 @@ static int initMasks(fd_set *rmask);
static
void
report_fork_failure_to_client
(
Port
*
port
,
int
errnum
);
static
void
report_fork_failure_to_client
(
Port
*
port
,
int
errnum
);
static
enum
CAC_state
canAcceptConnections
(
void
);
static
enum
CAC_state
canAcceptConnections
(
void
);
static
long
PostmasterRandom
(
void
);
static
long
PostmasterRandom
(
void
);
static
void
RandomSalt
(
char
*
cryptSalt
,
char
*
md5Salt
);
static
void
RandomSalt
(
char
*
md5Salt
);
static
void
signal_child
(
pid_t
pid
,
int
signal
);
static
void
signal_child
(
pid_t
pid
,
int
signal
);
static
void
SignalSomeChildren
(
int
signal
,
bool
only_autovac
);
static
void
SignalSomeChildren
(
int
signal
,
bool
only_autovac
);
...
@@ -1808,7 +1808,7 @@ ConnCreate(int serverFd)
...
@@ -1808,7 +1808,7 @@ ConnCreate(int serverFd)
* fork, not after. Else the postmaster's random sequence won't get
* fork, not after. Else the postmaster's random sequence won't get
* advanced, and all backends would end up using the same salt...
* advanced, and all backends would end up using the same salt...
*/
*/
RandomSalt
(
port
->
cryptSalt
,
port
->
md5Salt
);
RandomSalt
(
port
->
md5Salt
);
}
}
/*
/*
...
@@ -3910,49 +3910,20 @@ dummy_handler(SIGNAL_ARGS)
...
@@ -3910,49 +3910,20 @@ dummy_handler(SIGNAL_ARGS)
{
{
}
}
/*
* CharRemap: given an int in range 0..61, produce textual encoding of it
* per crypt(3) conventions.
*/
static
char
CharRemap
(
long
ch
)
{
if
(
ch
<
0
)
ch
=
-
ch
;
ch
=
ch
%
62
;
if
(
ch
<
26
)
return
'A'
+
ch
;
ch
-=
26
;
if
(
ch
<
26
)
return
'a'
+
ch
;
ch
-=
26
;
return
'0'
+
ch
;
}
/*
/*
* RandomSalt
* RandomSalt
*/
*/
static
void
static
void
RandomSalt
(
char
*
cryptSalt
,
char
*
md5Salt
)
RandomSalt
(
char
*
md5Salt
)
{
{
long
rand
=
PostmasterRandom
();
long
rand
;
cryptSalt
[
0
]
=
CharRemap
(
rand
%
62
);
cryptSalt
[
1
]
=
CharRemap
(
rand
/
62
);
/*
/*
* It's okay to reuse the first random value for one of the MD5 salt
* bytes, since only one of the two salts will be sent to the client.
* After that we need to compute more random bits.
*
* We use % 255, sacrificing one possible byte value, so as to ensure that
* We use % 255, sacrificing one possible byte value, so as to ensure that
* all bits of the random() value participate in the result. While at it,
* all bits of the random() value participate in the result. While at it,
* add one to avoid generating any null bytes.
* add one to avoid generating any null bytes.
*/
*/
rand
=
PostmasterRandom
();
md5Salt
[
0
]
=
(
rand
%
255
)
+
1
;
md5Salt
[
0
]
=
(
rand
%
255
)
+
1
;
rand
=
PostmasterRandom
();
rand
=
PostmasterRandom
();
md5Salt
[
1
]
=
(
rand
%
255
)
+
1
;
md5Salt
[
1
]
=
(
rand
%
255
)
+
1
;
...
...
src/include/libpq/hba.h
View file @
53a5026b
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
* Interface to hba.c
* Interface to hba.c
*
*
*
*
* $PostgreSQL: pgsql/src/include/libpq/hba.h,v 1.5
0 2008/10/23 13:31:10
mha Exp $
* $PostgreSQL: pgsql/src/include/libpq/hba.h,v 1.5
1 2008/10/28 12:10:44
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -22,7 +22,6 @@ typedef enum UserAuth
...
@@ -22,7 +22,6 @@ typedef enum UserAuth
uaTrust
,
uaTrust
,
uaIdent
,
uaIdent
,
uaPassword
,
uaPassword
,
uaCrypt
,
uaMD5
,
uaMD5
,
uaGSS
,
uaGSS
,
uaSSPI
,
uaSSPI
,
...
...
src/include/libpq/libpq-be.h
View file @
53a5026b
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $PostgreSQL: pgsql/src/include/libpq/libpq-be.h,v 1.6
7 2008/09/15 12:32:57
mha Exp $
* $PostgreSQL: pgsql/src/include/libpq/libpq-be.h,v 1.6
8 2008/10/28 12:10:44
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -123,7 +123,6 @@ typedef struct Port
...
@@ -123,7 +123,6 @@ typedef struct Port
*/
*/
HbaLine
*
hba
;
HbaLine
*
hba
;
char
md5Salt
[
4
];
/* Password salt */
char
md5Salt
[
4
];
/* Password salt */
char
cryptSalt
[
2
];
/* Password salt */
/*
/*
* Information that really has no business at all being in struct Port,
* Information that really has no business at all being in struct Port,
...
...
src/include/libpq/pqcomm.h
View file @
53a5026b
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $PostgreSQL: pgsql/src/include/libpq/pqcomm.h,v 1.10
8 2008/01/01 19:45:58 momjian
Exp $
* $PostgreSQL: pgsql/src/include/libpq/pqcomm.h,v 1.10
9 2008/10/28 12:10:44 mha
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -153,7 +153,7 @@ extern bool Db_user_namespace;
...
@@ -153,7 +153,7 @@ extern bool Db_user_namespace;
#define AUTH_REQ_KRB4 1
/* Kerberos V4. Not supported any more. */
#define AUTH_REQ_KRB4 1
/* Kerberos V4. Not supported any more. */
#define AUTH_REQ_KRB5 2
/* Kerberos V5 */
#define AUTH_REQ_KRB5 2
/* Kerberos V5 */
#define AUTH_REQ_PASSWORD 3
/* Password */
#define AUTH_REQ_PASSWORD 3
/* Password */
#define AUTH_REQ_CRYPT 4
/* crypt password */
#define AUTH_REQ_CRYPT 4
/* crypt password
. Not supported any more.
*/
#define AUTH_REQ_MD5 5
/* md5 password */
#define AUTH_REQ_MD5 5
/* md5 password */
#define AUTH_REQ_SCM_CREDS 6
/* transfer SCM credentials */
#define AUTH_REQ_SCM_CREDS 6
/* transfer SCM credentials */
#define AUTH_REQ_GSS 7
/* GSSAPI without wrap() */
#define AUTH_REQ_GSS 7
/* GSSAPI without wrap() */
...
...
src/interfaces/libpq/fe-auth.c
View file @
53a5026b
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.13
7 2008/01/31 18:58:30 tgl
Exp $
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.13
8 2008/10/28 12:10:44 mha
Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -40,10 +40,6 @@
...
@@ -40,10 +40,6 @@
#include <pwd.h>
#include <pwd.h>
#endif
#endif
#ifdef HAVE_CRYPT_H
#include <crypt.h>
#endif
#include "libpq-fe.h"
#include "libpq-fe.h"
#include "fe-auth.h"
#include "fe-auth.h"
#include "libpq/md5.h"
#include "libpq/md5.h"
...
@@ -787,14 +783,6 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
...
@@ -787,14 +783,6 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
}
}
break
;
break
;
}
}
case
AUTH_REQ_CRYPT
:
{
char
salt
[
3
];
strlcpy
(
salt
,
conn
->
cryptSalt
,
sizeof
(
salt
));
crypt_pwd
=
crypt
(
password
,
salt
);
break
;
}
case
AUTH_REQ_PASSWORD
:
case
AUTH_REQ_PASSWORD
:
/* discard const so we can assign it */
/* discard const so we can assign it */
crypt_pwd
=
(
char
*
)
password
;
crypt_pwd
=
(
char
*
)
password
;
...
@@ -938,8 +926,12 @@ pg_fe_sendauth(AuthRequest areq, PGconn *conn)
...
@@ -938,8 +926,12 @@ pg_fe_sendauth(AuthRequest areq, PGconn *conn)
#endif
#endif
case
AUTH_REQ_MD5
:
case
AUTH_REQ_CRYPT
:
case
AUTH_REQ_CRYPT
:
printfPQExpBuffer
(
&
conn
->
errorMessage
,
libpq_gettext
(
"Crypt authentication not supported
\n
"
));
return
STATUS_ERROR
;
case
AUTH_REQ_MD5
:
case
AUTH_REQ_PASSWORD
:
case
AUTH_REQ_PASSWORD
:
conn
->
password_needed
=
true
;
conn
->
password_needed
=
true
;
if
(
conn
->
pgpass
==
NULL
||
conn
->
pgpass
[
0
]
==
'\0'
)
if
(
conn
->
pgpass
==
NULL
||
conn
->
pgpass
[
0
]
==
'\0'
)
...
...
src/interfaces/libpq/fe-connect.c
View file @
53a5026b
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.36
4 2008/10/27 09:42:31
mha Exp $
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.36
5 2008/10/28 12:10:44
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -1674,15 +1674,6 @@ keep_going: /* We will come back to here until there is
...
@@ -1674,15 +1674,6 @@ keep_going: /* We will come back to here until there is
return
PGRES_POLLING_READING
;
return
PGRES_POLLING_READING
;
}
}
}
}
if
(
areq
==
AUTH_REQ_CRYPT
)
{
if
(
pqGetnchar
(
conn
->
cryptSalt
,
sizeof
(
conn
->
cryptSalt
),
conn
))
{
/* We'll come back when there are more data */
return
PGRES_POLLING_READING
;
}
}
#if defined(ENABLE_GSS) || defined(ENABLE_SSPI)
#if defined(ENABLE_GSS) || defined(ENABLE_SSPI)
/*
/*
...
...
src/interfaces/libpq/libpq-int.h
View file @
53a5026b
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* $PostgreSQL: pgsql/src/interfaces/libpq/libpq-int.h,v 1.13
5 2008/10/27 09:42:31
mha Exp $
* $PostgreSQL: pgsql/src/interfaces/libpq/libpq-int.h,v 1.13
6 2008/10/28 12:10:44
mha Exp $
*
*
*-------------------------------------------------------------------------
*-------------------------------------------------------------------------
*/
*/
...
@@ -340,7 +340,6 @@ struct pg_conn
...
@@ -340,7 +340,6 @@ struct pg_conn
int
be_pid
;
/* PID of backend --- needed for cancels */
int
be_pid
;
/* PID of backend --- needed for cancels */
int
be_key
;
/* key of backend --- needed for cancels */
int
be_key
;
/* key of backend --- needed for cancels */
char
md5Salt
[
4
];
/* password salt received from backend */
char
md5Salt
[
4
];
/* password salt received from backend */
char
cryptSalt
[
2
];
/* password salt received from backend */
pgParameterStatus
*
pstatus
;
/* ParameterStatus data */
pgParameterStatus
*
pstatus
;
/* ParameterStatus data */
int
client_encoding
;
/* encoding id */
int
client_encoding
;
/* encoding id */
bool
std_strings
;
/* standard_conforming_strings */
bool
std_strings
;
/* standard_conforming_strings */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment