summaryrefslogtreecommitdiff
path: root/net-im/jabberd
Side-by-side diff
Diffstat (limited to 'net-im/jabberd') (more/less context) (show whitespace changes)
-rw-r--r--net-im/jabberd/files/jabberd-2.1.11-r1.patch20
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 );