Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit602b0d0

Browse files
committed
From: Goran Thyni <goran@bildbasen.se>
OK, here comes a patch, DBD::Pg (and possibly other 3rd party clients)can connect to unix sockets.Patch is against current source tree.Background:libpq set some policy for client, which it should notIMHO. It prevent some 3rd party clients to connect withunix domain sockets etc.
1 parent80159ee commit602b0d0

File tree

1 file changed

+18
-41
lines changed

1 file changed

+18
-41
lines changed

‎src/interfaces/libpq/fe-connect.c

Lines changed: 18 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.53 1997/12/05 01:13:21 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.54 1998/01/13 04:24:10 scrappy Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -150,7 +150,7 @@ PQconnectdb(const char *conninfo)
150150
PGconn*conn;
151151
PQconninfoOption*option;
152152
charerrorMessage[ERROR_MSG_LENGTH];
153-
153+
char*tmp;
154154
/* ----------
155155
* Allocate memory for the conn structure
156156
* ----------
@@ -176,37 +176,6 @@ PQconnectdb(const char *conninfo)
176176
returnconn;
177177
}
178178

179-
/* ----------
180-
* Check that we have all connection parameters
181-
* ----------
182-
*/
183-
for (option=PQconninfoOptions;option->keyword!=NULL;option++)
184-
{
185-
if (option->val!=NULL)
186-
continue;/* Value was in conninfo */
187-
188-
/* ----------
189-
* No value was found for this option. Return an error.
190-
* ----------
191-
*/
192-
conn->status=CONNECTION_BAD;
193-
sprintf(conn->errorMessage,
194-
"ERROR: PQconnectdb(): Cannot determine a value for option '%s'.\n",
195-
option->keyword);
196-
strcat(conn->errorMessage,
197-
"Option not specified in conninfo string");
198-
if (option->environ)
199-
{
200-
strcat(conn->errorMessage,
201-
", environment variable ");
202-
strcat(conn->errorMessage,option->environ);
203-
strcat(conn->errorMessage,"\nnot set");
204-
}
205-
strcat(conn->errorMessage," and no compiled in default value.\n");
206-
conninfo_free();
207-
returnconn;
208-
}
209-
210179
/* ----------
211180
* Setup the conn structure
212181
* ----------
@@ -218,14 +187,22 @@ PQconnectdb(const char *conninfo)
218187
conn->port=NULL;
219188
conn->notifyList=DLNewList();
220189

221-
conn->pghost=strdup(conninfo_getval("host"));
222-
conn->pgport=strdup(conninfo_getval("port"));
223-
conn->pgtty=strdup(conninfo_getval("tty"));
224-
conn->pgoptions=strdup(conninfo_getval("options"));
225-
conn->pguser=strdup(conninfo_getval("user"));
226-
conn->pgpass=strdup(conninfo_getval("password"));
227-
conn->pgauth=strdup(conninfo_getval("authtype"));
228-
conn->dbName=strdup(conninfo_getval("dbname"));
190+
tmp=conninfo_getval("host");
191+
conn->pghost=tmp ?strdup(tmp) :NULL;
192+
tmp=conninfo_getval("port");
193+
conn->pgport=tmp ?strdup(tmp) :NULL;
194+
tmp=conninfo_getval("tty");
195+
conn->pgtty=tmp ?strdup(tmp) :NULL;
196+
tmp=conninfo_getval("options");
197+
conn->pgoptions=tmp ?strdup(tmp) :NULL;
198+
tmp=conninfo_getval("user");
199+
conn->pguser=tmp ?strdup(tmp) :NULL;
200+
tmp=conninfo_getval("password");
201+
conn->pgpass=tmp ?strdup(tmp) :NULL;
202+
tmp=conninfo_getval("authtype");
203+
conn->pgauth=tmp ?strdup(tmp) :NULL;
204+
tmp=conninfo_getval("dbname");
205+
conn->dbName=tmp ?strdup(tmp) :NULL;
229206

230207
/* ----------
231208
* Free the connection info - all is in conn now

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp