aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/odbc/drvconn.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/odbc/drvconn.c')
-rw-r--r--src/interfaces/odbc/drvconn.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interfaces/odbc/drvconn.c b/src/interfaces/odbc/drvconn.c
index 1fb91550df8..6c08376ac4b 100644
--- a/src/interfaces/odbc/drvconn.c
+++ b/src/interfaces/odbc/drvconn.c
@@ -78,7 +78,8 @@ PGAPI_DriverConnect(
char connStrIn[MAX_CONNECT_STRING];
char connStrOut[MAX_CONNECT_STRING];
int retval;
- char password_required = FALSE;
+ char salt[5];
+ char password_required = AUTH_REQ_OK;
int len = 0;
SWORD lenStrout;
@@ -114,6 +115,7 @@ PGAPI_DriverConnect(
getDSNdefaults(ci);
/* initialize pg_version */
CC_initialize_pg_version(conn);
+ salt[0] = '\0';
#ifdef WIN32
dialog:
@@ -173,7 +175,7 @@ dialog:
}
/* do the actual connect */
- retval = CC_connect(conn, password_required);
+ retval = CC_connect(conn, password_required, salt);
if (retval < 0)
{ /* need a password */
if (fDriverCompletion == SQL_DRIVER_NOPROMPT)
@@ -185,7 +187,7 @@ dialog:
else
{
#ifdef WIN32
- password_required = TRUE;
+ password_required = -retval;
goto dialog;
#else
return SQL_ERROR; /* until a better solution is found. */