-rw-r--r-- | net-im/jabberd/files/jabberd-2.1.11-r1.patch | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/net-im/jabberd/files/jabberd-2.1.11-r1.patch b/net-im/jabberd/files/jabberd-2.1.11-r1.patch index 441163c..6eba147 100644 --- a/net-im/jabberd/files/jabberd-2.1.11-r1.patch +++ b/net-im/jabberd/files/jabberd-2.1.11-r1.patch @@ -88,16 +88,32 @@ index 099aec9..29dca26 100644 + ]) + if test "x-$have_pgsql" != "x-yes" ; then + AC_MSG_ERROR([PostgreSQL support requested, but headers/libraries not found.]) + fi + fi fi AC_SUBST(PGSQL_CFLAGS) AC_SUBST(PGSQL_LIBS) +diff --git a/etc/c2s.xml.dist.in b/etc/c2s.xml.dist.in +index 873a133..0589ada 100644 +--- a/etc/c2s.xml.dist.in ++++ b/etc/c2s.xml.dist.in +@@ -325,6 +325,11 @@ + + <!-- PostgreSQL module configuration --> + <pgsql> ++ <!-- PostgreSQL connection info --> ++ <conninfo>dbname=jabberd2 user=jabberd2 password=secret</conninfo> ++ ++ <!-- The rest of connection settings are used only in absence of 'conninfo' --> ++ + <!-- Database server host and port --> + <host>localhost</host> + <port>5432</port> diff --git a/mio/mio_impl.h b/mio/mio_impl.h index 6f72a5c..cabdc67 100644 --- a/mio/mio_impl.h +++ b/mio/mio_impl.h @@ -226,8 +226,12 @@ static void _mio_run(mio_t m, int timeout) { mio_fd_t fd = MIO_ITERATOR_FD(m,iter); @@ -155,17 +171,17 @@ index 06f9e6e..5abf065 100644 } - pool_cleanup(p, free, zitem->jid); + pool_cleanup(p, jid_free, zitem->jid); log_debug(ZONE, "jid item with value '%s'", jid_full(zitem->jid)); diff --git a/storage/authreg_pgsql.c b/storage/authreg_pgsql.c -index 1f15e83..8d3cf88 100644 +index 1f15e83..cb68e7d 100644 --- a/storage/authreg_pgsql.c +++ b/storage/authreg_pgsql.c @@ -304,7 +304,7 @@ int _ar_pgsql_check_sql( authreg_t ar, char * sql, char * types ) { /** start me up */ int ar_init(authreg_t ar) { - char *host, *port, *dbname, *user, *pass; + char *host, *port, *dbname, *user, *pass, *conninfo; @@ -180,19 +196,19 @@ index 1f15e83..8d3cf88 100644 - port = config_get_one(ar->c2s->config, "authreg.pgsql.port", 0); - dbname = config_get_one(ar->c2s->config, "authreg.pgsql.dbname", 0); - user = config_get_one(ar->c2s->config, "authreg.pgsql.user", 0); - pass = config_get_one(ar->c2s->config, "authreg.pgsql.pass", 0); - - log_debug( ZONE, "pgsql connecting as '%s' to database '%s' on %s:%s", user, dbname, host, port ); + conninfo = config_get_one(ar->c2s->config,"authreg.pgsql.conninfo",0); + if(conninfo) { -+ conn = PQconnect(conninfo); + /* don't log connection info for it can contain password */ + log_debug( ZONE, "pgsql connecting to the databse"); ++ conn = PQconnectdb(conninfo); + }else{ + /* compatibility settings */ + host = config_get_one(ar->c2s->config, "authreg.pgsql.host", 0); + port = config_get_one(ar->c2s->config, "authreg.pgsql.port", 0); + dbname = config_get_one(ar->c2s->config, "authreg.pgsql.dbname", 0); + user = config_get_one(ar->c2s->config, "authreg.pgsql.user", 0); + pass = config_get_one(ar->c2s->config, "authreg.pgsql.pass", 0); + log_debug( ZONE, "pgsql connecting as '%s' to database '%s' on %s:%s", user, dbname, host, port ); |