*************************************************************************/
int sql_init_socket(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
char connstring[2048];
- char *port;
+ char *port, *host;
rlm_sql_postgres_sock *pg_sock;
+ if (config->sql_server[0] != '\0') {
+ host = " host=";
+ } else {
+ host = "";
+ }
+
if (config->sql_port[0] != '\0') {
- port = "port=";
+ port = " port=";
} else {
port = "";
}
pg_sock = sqlsocket->conn;
snprintf(connstring, sizeof(connstring),
- "dbname=%s host=%s %s%s user=%s password=%s",
- config->sql_db, config->sql_server,
+ "dbname=%s%s%s%s%s user=%s password=%s",
+ config->sql_db, host, config->sql_server,
port, config->sql_port,
config->sql_login, config->sql_password);
pg_sock->row=NULL;
}
radlog(L_INFO, "rlm_sql: Driver %s loaded and linked", inst->config->sql_driver);
- radlog(L_INFO, "rlm_sql: Attempting to connect to %s@%s:%s", inst->config->sql_login, inst->config->sql_server, inst->config->sql_db);
+ radlog(L_INFO, "rlm_sql: Attempting to connect to %s@%s:%s/%s", inst->config->sql_login, inst->config->sql_server, inst->config->sql_port, inst->config->sql_db);
if (sql_init_socketpool(inst) < 0) {
free(inst->config);