Update to 2.2.16

PR:		ports/167813
Submitted by:	Bjoern Koenig <bkoenig@alpha-tierchen.de>
This commit is contained in:
Martin Matuska 2012-05-12 07:42:28 +00:00
parent 536a423ea6
commit 16bcbf23d2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=296471
4 changed files with 8 additions and 73 deletions

View File

@ -6,10 +6,9 @@
#
PORTNAME= jabberd
PORTVERSION= 2.2.14
PORTREVISION= 1
PORTVERSION= 2.2.16
CATEGORIES= net-im
MASTER_SITES= http://codex.xiaoka.com/pub/jabberd2/releases/
MASTER_SITES= http://cloud.github.com/downloads/Jabberd2/jabberd2/
DIST_SUBDIR= jabber
MAINTAINER= mm@FreeBSD.org
@ -41,11 +40,11 @@ USE_PERL5_RUN= yes
USE_OPENSSL= yes
USE_ICONV= yes
USE_RC_SUBR= jabberd
USE_BZIP2= yes
USE_LDCONFIG= ${PREFIX}/lib/jabberd
CONFIGURE_ARGS+= --localstatedir=/var \
--sysconfdir=${PREFIX}/etc/jabberd \
--enable-ssl --enable-mio=poll \
--disable-tests \
--with-extra-include-path="${LOCALBASE}/include ${EIP}" \
--with-extra-library-path="${LOCALBASE}/lib ${ELP}"

View File

@ -1,2 +1,2 @@
SHA256 (jabber/jabberd-2.2.14.tar.bz2) = cd6bd518dda172935ad16f180f40ba6ebf7d4aa83ef4f9445ac6b55b438a9e3f
SIZE (jabber/jabberd-2.2.14.tar.bz2) = 615984
SHA256 (jabber/jabberd-2.2.16.tar.gz) = 112844e0319dc31faf9225930fe10f811b9faefe2e4e30b73d8e3ab965a7d4bf
SIZE (jabber/jabberd-2.2.16.tar.gz) = 2818476

View File

@ -1,67 +0,0 @@
=== modified file 'sx/sasl_gsasl.c'
--- sx/sasl_gsasl.c 2011-10-08 22:08:29 +0000
+++ sx/sasl_gsasl.c 2011-12-06 19:50:30 +0000
@@ -138,7 +138,7 @@
typedef struct _Gsasl_digest_md5_server_state _Gsasl_digest_md5_server_state;
/** utility: generate a success nad */
-static nad_t _sx_sasl_success(sx_t s) {
+static nad_t _sx_sasl_success(sx_t s, char *data, int dlen) {
nad_t nad;
int ns;
@@ -146,6 +146,8 @@
ns = nad_add_namespace(nad, uri_SASL, NULL);
nad_append_elem(nad, ns, "success", 0);
+ if(data != NULL)
+ nad_append_cdata(nad, data, dlen, 1);
return nad;
}
@@ -533,15 +535,25 @@
if(ret == GSASL_OK) {
_sx_debug(ZONE, "sasl handshake completed");
+ /* encode the leftover response */
+ ret = gsasl_base64_to(out, outlen, &buf, &buflen);
+ if (ret == GSASL_OK) {
+ /* send success */
+ _sx_nad_write(s, _sx_sasl_success(s, buf, buflen), 0);
+ free(buf);
+
+ /* set a notify on the success nad buffer */
+ ((sx_buf_t) s->wbufq->front->data)->notify = _sx_sasl_notify_success;
+ ((sx_buf_t) s->wbufq->front->data)->notify_arg = (void *) p;
+ }
+ else {
+ _sx_debug(ZONE, "gsasl_base64_to failed, no sasl for this conn; (%d): %s", ret, gsasl_strerror(ret));
+ _sx_nad_write(s, _sx_sasl_failure(s, _sasl_err_INCORRECT_ENCODING), 0);
+ if(buf != NULL) free(buf);
+ }
+
if(out != NULL) free(out);
- /* send success */
- _sx_nad_write(s, _sx_sasl_success(s), 0);
-
- /* set a notify on the success nad buffer */
- ((sx_buf_t) s->wbufq->front->data)->notify = _sx_sasl_notify_success;
- ((sx_buf_t) s->wbufq->front->data)->notify_arg = (void *) p;
-
return;
}
@@ -555,6 +567,11 @@
_sx_nad_write(s, _sx_sasl_challenge(s, buf, buflen), 0);
free(buf);
}
+ else {
+ _sx_debug(ZONE, "gsasl_base64_to failed, no sasl for this conn; (%d): %s", ret, gsasl_strerror(ret));
+ _sx_nad_write(s, _sx_sasl_failure(s, _sasl_err_INCORRECT_ENCODING), 0);
+ if(buf != NULL) free(buf);
+ }
if(out != NULL) free(out);

View File

@ -38,6 +38,9 @@ etc/jabberd/templates/roster.xml.dist
%%SUB_PGSQL%%lib/jabberd/authreg_pgsql.so
%%SUB_SQLITE%%lib/jabberd/authreg_sqlite.la
%%SUB_SQLITE%%lib/jabberd/authreg_sqlite.so
lib/jabberd/libstorage.la
lib/jabberd/libstorage.so
lib/jabberd/libstorage.so.0
lib/jabberd/mod_active.la
lib/jabberd/mod_active.so
lib/jabberd/mod_active.so.0