Re: [HACKERS] DefaultHost

Поиск
Список
Период
Сортировка
Искать
От
Goran Thyni
Тема
Re: [HACKERS] DefaultHost
Дата
Msg-id
19980110152452.6095.qmail@guevara.bildbasen.se
Ответ на
Список
Дерево обсуждения
Re: [HACKERS] DefaultHost Edmund Mergl <E.Mergl@bawue.de>

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 not
IMHO. It prevent some 3rd party clients to connect with
unix domain sockets etc.

     regards,
-- 
---------------------------------------------
Göran Thyni, sysadm, JMS Bildbasen, Kiruna

------------------------- snip ---------------------------------

diff -cr pg-sup/pgsql/src/interfaces/libpq/fe-connect.c pgsql-hack/src/interfaces/libpq/fe-connect.c
*** pg-sup/pgsql/src/interfaces/libpq/fe-connect.c	Fri Dec  5 17:33:44 1997
--- pgsql-hack/src/interfaces/libpq/fe-connect.c	Sat Jan 10 16:09:37 1998
***************
*** 150,156 ****
  	PGconn	   *conn;
  	PQconninfoOption *option;
  	char		errorMessage[ERROR_MSG_LENGTH];
! 
  	/* ----------
  	 * Allocate memory for the conn structure
  	 * ----------
--- 150,156 ----
  	PGconn	   *conn;
  	PQconninfoOption *option;
  	char		errorMessage[ERROR_MSG_LENGTH];
! 	char* tmp;
  	/* ----------
  	 * Allocate memory for the conn structure
  	 * ----------
***************
*** 177,213 ****
  	}
  
  	/* ----------
- 	 * Check that we have all connection parameters
- 	 * ----------
- 	 */
- 	for (option = PQconninfoOptions; option->keyword != NULL; option++)
- 	{
- 		if (option->val != NULL)
- 			continue;			/* Value was in conninfo */
- 
- 		/* ----------
- 		 * No value was found for this option. Return an error.
- 		 * ----------
- 		 */
- 		conn->status = CONNECTION_BAD;
- 		sprintf(conn->errorMessage,
- 				"ERROR: PQconnectdb(): Cannot determine a value for option '%s'.\n",
- 				option->keyword);
- 		strcat(conn->errorMessage,
- 			   "Option not specified in conninfo string");
- 		if (option->environ)
- 		{
- 			strcat(conn->errorMessage,
- 				   ", environment variable ");
- 			strcat(conn->errorMessage, option->environ);
- 			strcat(conn->errorMessage, "\nnot set");
- 		}
- 		strcat(conn->errorMessage, " and no compiled in default value.\n");
- 		conninfo_free();
- 		return conn;
- 	}
- 
- 	/* ----------
  	 * Setup the conn structure
  	 * ----------
  	 */
--- 177,182 ----
***************
*** 218,231 ****
  	conn->port = NULL;
  	conn->notifyList = DLNewList();
  
! 	conn->pghost = strdup(conninfo_getval("host"));
! 	conn->pgport = strdup(conninfo_getval("port"));
! 	conn->pgtty = strdup(conninfo_getval("tty"));
! 	conn->pgoptions = strdup(conninfo_getval("options"));
! 	conn->pguser = strdup(conninfo_getval("user"));
! 	conn->pgpass = strdup(conninfo_getval("password"));
! 	conn->pgauth = strdup(conninfo_getval("authtype"));
! 	conn->dbName = strdup(conninfo_getval("dbname"));
  
  	/* ----------
  	 * Free the connection info - all is in conn now
--- 187,208 ----
  	conn->port = NULL;
  	conn->notifyList = DLNewList();
  
! 	tmp = conninfo_getval("host");
! 	conn->pghost = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("port");
! 	conn->pgport = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("tty");
! 	conn->pgtty  = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("options");
! 	conn->pgoptions = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("user");
! 	conn->pguser = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("password");
! 	conn->pgpass = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("authtype");
! 	conn->pgauth = tmp ? strdup(tmp) : NULL;
! 	tmp = conninfo_getval("dbname");
! 	conn->dbName = tmp ? strdup(tmp) : NULL;
  
  	/* ----------
  	 * Free the connection info - all is in conn now

В списке pgsql-hackers по дате отправления
От: Goran Thyni
Дата:
Сообщение: Re: [HACKERS] DefaultHost
От: Thomas G. Lockhart
Дата:
Сообщение: Re: [HACKERS] grant broken
FAQ