mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
Update to version 1.1.7
PR: ports/77653 Submitted by: maintainer
This commit is contained in:
parent
19d73f8b10
commit
1b22eaf356
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=129137
@ -6,16 +6,16 @@
|
||||
#
|
||||
|
||||
PORTNAME= jit
|
||||
PORTVERSION= 1.1.6
|
||||
PORTVERSION= 1.1.7
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.jabberstudio.org/files/jit/
|
||||
MASTER_SITES= http://www.jabber.ru/files/jit/
|
||||
DIST_SUBDIR= jabber
|
||||
|
||||
MAINTAINER= gonzo@univ.kiev.ua
|
||||
MAINTAINER= alexander.timoshenko@gmail.com
|
||||
COMMENT= Jabber ICQ Transport
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_REINPLACE= yes
|
||||
USE_REINPLACE= yes
|
||||
HAS_CONFIGURE= yes
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
@ -32,7 +32,7 @@ do-install:
|
||||
@${MKDIR} ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/jit/jit.so ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/xdb_file/xdb_file.so ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_PROGRAM} ${WRKSRC}/jabberd/jabberd ${PREFIX}/sbin/jit
|
||||
@${INSTALL_PROGRAM} ${WRKSRC}/jabberd/jabberd-jit ${PREFIX}/sbin/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/jit/jabber-icq.example ${PREFIX}/etc
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/jit/jit.sh ${PREFIX}/etc/rc.d
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (jabber/jit-1.1.6.tar.gz) = 950f6b82ab5e0542535108fd54409363
|
||||
SIZE (jabber/jit-1.1.6.tar.gz) = 275246
|
||||
MD5 (jabber/jit-1.1.7.tar.gz) = 5400bd79d5014fef35fed2195967e5ae
|
||||
SIZE (jabber/jit-1.1.7.tar.gz) = 277018
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- Makefile.orig Tue Jul 6 19:11:02 2004
|
||||
+++ Makefile Tue Jul 6 19:10:53 2004
|
||||
@@ -2,6 +2,7 @@
|
||||
all:
|
||||
(cd jit && $(MAKE))
|
||||
(cd jabberd && $(MAKE))
|
||||
+ (cd xdb_file && $(MAKE))
|
||||
|
||||
clean:
|
||||
(cd jit && $(MAKE) clean)
|
@ -1,243 +0,0 @@
|
||||
diff -ru jabber.orig/lib/lib.h jabberd/lib/lib.h
|
||||
--- jabber.orig/lib/lib.h 2003-05-30 16:10:24.000000000 +0400
|
||||
+++ jabberd/lib/lib.h 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -654,6 +654,9 @@
|
||||
#define NS_XDBGINSERT "jabber:xdb:ginsert"
|
||||
#define NS_XDBNSLIST "jabber:xdb:nslist"
|
||||
|
||||
+#define NS_DISCO_INFO "http://jabber.org/protocol/disco#info"
|
||||
+#define NS_DISCO_ITEMS "http://jabber.org/protocol/disco#items"
|
||||
+
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
/* */
|
||||
diff -ru jit.orig/jit/icqtransport.h jit/jit/icqtransport.h
|
||||
--- jit.orig/jit/icqtransport.h 2003-06-02 14:06:51.000000000 +0400
|
||||
+++ jit/jit/icqtransport.h 2003-12-12 13:14:40.000000000 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "utils/english.h"
|
||||
#endif
|
||||
|
||||
-#define MOD_VERSION "1.1.6"
|
||||
+#define MOD_VERSION "1.1.6-sg2"
|
||||
#define DEFAULT_CHARSET "iso-8859-1"
|
||||
|
||||
typedef unsigned long UIN_t;
|
||||
@@ -290,6 +290,10 @@
|
||||
void it_iq_gateway_set(session s, jpacket jp);
|
||||
void it_iq_browse_server(iti ti, jpacket jp);
|
||||
void it_iq_browse_user(session s, jpacket jp);
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_info_user(session s, jpacket jp);
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_items_user(session s, jpacket jp);
|
||||
|
||||
|
||||
void it_save_contacts(session s);
|
||||
diff -ru jit.orig/jit/iq.c jit/jit/iq.c
|
||||
--- jit.orig/jit/iq.c 2003-04-29 15:03:53.000000000 +0400
|
||||
+++ jit/jit/iq.c 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -29,6 +29,10 @@
|
||||
void it_iq_gateway_set(session s, jpacket jp);
|
||||
void it_iq_browse_server(iti ti, jpacket jp);
|
||||
void it_iq_browse_user(session s, jpacket jp);
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_info_user(session s, jpacket jp);
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_items_user(session s, jpacket jp);
|
||||
|
||||
void SendSearchUINRequest(session s,UIN_t uin);
|
||||
void SendSearchUsersRequest(session s,
|
||||
@@ -73,6 +77,10 @@
|
||||
it_iq_gateway_get(s,jp);
|
||||
else if (j_strcmp(ns,NS_BROWSE) == 0)
|
||||
jp->to->user ? it_iq_browse_user(s,jp) : it_iq_browse_server(s->ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_INFO) == 0)
|
||||
+ jp->to->user ? it_iq_disco_info_user(s,jp) : it_iq_disco_info_server(s->ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_ITEMS) == 0)
|
||||
+ jp->to->user ? it_iq_disco_items_user(s,jp) : it_iq_disco_items_server(s->ti,jp);
|
||||
else if (j_strcmp(ns,NS_VCARD) == 0)
|
||||
jp->to->user ? it_iq_vcard(s,jp) : it_iq_vcard_server(s->ti,jp);
|
||||
else if (j_strcmp(ns,NS_LAST) == 0)
|
||||
@@ -503,6 +511,8 @@
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_REGISTER,-1);
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_SEARCH,-1);
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_GATEWAY,-1);
|
||||
+ xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_DISCO_INFO,-1);
|
||||
+ xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_DISCO_ITEMS,-1);
|
||||
|
||||
it_deliver(ti,jp->x);
|
||||
}
|
||||
@@ -538,6 +548,131 @@
|
||||
it_deliver(s->ti,jp->x);
|
||||
}
|
||||
|
||||
+/** Service Discovery support (JEP-0030) */
|
||||
+/** Info */
|
||||
+
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q, x;
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_INFO);
|
||||
+
|
||||
+ x = xmlnode_insert_tag(q,"identity");
|
||||
+ xmlnode_put_attrib(x,"category","gateway");
|
||||
+ xmlnode_put_attrib(x,"type","icq");
|
||||
+ xmlnode_put_attrib(x,"name",xmlnode_get_tag_data(ti->vcard,"FN"));
|
||||
+
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_REGISTER);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_SEARCH);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_VERSION);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_TIME);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_LAST);
|
||||
+
|
||||
+ it_deliver(ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+void it_iq_disco_info_user(session s, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q, x;
|
||||
+
|
||||
+ if (s->type == stype_register)
|
||||
+ {
|
||||
+ queue_elem queue;
|
||||
+
|
||||
+ queue = pmalloco(jp->p,sizeof(_queue_elem));
|
||||
+ queue->elem = (void *)jp;
|
||||
+
|
||||
+ QUEUE_PUT(s->queue,s->queue_last,queue);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (it_jid2uin(jp->from) == 0)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_BAD);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_INFO);
|
||||
+ x = xmlnode_insert_tag(q,"identity");
|
||||
+ xmlnode_put_attrib(x,"category","user");
|
||||
+ xmlnode_put_attrib(x,"type","client");
|
||||
+ xmlnode_put_attrib(x,"name", jp->to->user);
|
||||
+
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+/** Service Discovery support (JEP-0030) */
|
||||
+/** Items */
|
||||
+
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q;
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_ITEMS);
|
||||
+
|
||||
+ it_deliver(ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+void it_iq_disco_items_user(session s, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q;
|
||||
+
|
||||
+ if (s->type == stype_register)
|
||||
+ {
|
||||
+ queue_elem queue;
|
||||
+
|
||||
+ queue = pmalloco(jp->p,sizeof(_queue_elem));
|
||||
+ queue->elem = (void *)jp;
|
||||
+
|
||||
+ QUEUE_PUT(s->queue,s->queue_last,queue);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (it_jid2uin(jp->from) == 0)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_BAD);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_ITEMS);
|
||||
+
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+}
|
||||
+
|
||||
/** Send reply to a version inquiry to Jabber */
|
||||
void it_iq_version(iti ti, jpacket jp)
|
||||
{
|
||||
diff -ru jit.orig/jit/session.c jit/jit/session.c
|
||||
--- jit.orig/jit/session.c 2003-05-12 15:07:53.000000000 +0400
|
||||
+++ jit/jit/session.c 2003-12-12 12:59:30.000000000 +0300
|
||||
@@ -429,6 +429,11 @@
|
||||
time(NULL)-s->start_time);
|
||||
}
|
||||
|
||||
+ if ((s->ti->own_roster)&&(s->roster_changed)) {
|
||||
+ it_save_contacts(s);
|
||||
+ s->roster_changed = 0;
|
||||
+ }
|
||||
+
|
||||
/* remove from hash */
|
||||
SEM_LOCK(s->ti->sessions_sem);
|
||||
wpxhash_zap(s->ti->sessions,jid_full(s->id));
|
||||
@@ -468,6 +473,11 @@
|
||||
else
|
||||
it_session_regerr(s,e);
|
||||
|
||||
+ if ((s->ti->own_roster)&&(s->roster_changed)) {
|
||||
+ it_save_contacts(s);
|
||||
+ s->roster_changed = 0;
|
||||
+ }
|
||||
+
|
||||
/* remove from hash */
|
||||
SEM_LOCK(s->ti->sessions_sem);
|
||||
wpxhash_zap(s->ti->sessions,jid_full(s->id));
|
||||
diff -ru jit.orig/jit/unknown.c jit/jit/unknown.c
|
||||
--- jit.orig/jit/unknown.c 2003-04-29 14:19:42.000000000 +0400
|
||||
+++ jit/jit/unknown.c 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -84,6 +84,10 @@
|
||||
}
|
||||
else if (j_strcmp(ns,NS_BROWSE) == 0)
|
||||
it_iq_browse_server(ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_INFO) == 0)
|
||||
+ it_iq_disco_info_server(ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_ITEMS) == 0)
|
||||
+ it_iq_disco_items_server(ti,jp);
|
||||
else if (j_strcmp(ns,NS_VERSION) == 0)
|
||||
it_iq_version(ti,jp);
|
||||
else if (j_strcmp(ns,NS_TIME) == 0)
|
@ -1,24 +0,0 @@
|
||||
--- jabberd/mio_xml.c.orig Tue Jul 6 19:06:24 2004
|
||||
+++ jabberd/mio_xml.c Tue Jul 6 19:07:34 2004
|
||||
@@ -142,14 +142,13 @@
|
||||
nul += 4;
|
||||
bufsz = bufsz - (nul - buf);
|
||||
buf = nul;
|
||||
- mio_write(m,NULL,"HTTP/1.0 200 Ok
|
||||
-Server: jabber/xmlstream-hack-0.1
|
||||
-Expires: Fri, 10 Oct 1997 10:10:10 GMT
|
||||
-Pragma: no-cache
|
||||
-Cache-control: private
|
||||
-Connection: close
|
||||
-
|
||||
-",-1);
|
||||
+ mio_write(m,NULL,"HTTP/1.0 200 Ok\n" \
|
||||
+"Server: jabber/xmlstream-hack-0.1\n" \
|
||||
+"Expires: Fri, 10 Oct 1997 10:10:10 GMT\n" \
|
||||
+"Pragma: no-cache\n" \
|
||||
+"Cache-control: private\n" \
|
||||
+"Connection: close\n" \
|
||||
+"\n", -1);
|
||||
m->type = type_NORMAL;
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- jabberd/mtq.c.orig Tue Jul 6 19:18:05 2004
|
||||
+++ jabberd/mtq.c Tue Jul 6 19:18:29 2004
|
||||
@@ -127,7 +127,7 @@
|
||||
while(1) {
|
||||
|
||||
if (t->mtq->last == NULL ) {
|
||||
- Sleep(1);
|
||||
+ Sleep(500);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,30 @@
|
||||
--- jit/jabber-icq.example.orig Tue Jul 20 16:54:23 2004
|
||||
+++ jit/jabber-icq.example Tue Jul 20 16:59:10 2004
|
||||
--- jit/jabber-icq.example.orig Mon Jan 19 23:30:03 2004
|
||||
+++ jit/jabber-icq.example Thu Feb 17 20:38:49 2005
|
||||
@@ -2,20 +2,20 @@
|
||||
|
||||
<!-- you can add elogger and rlogger entries here if
|
||||
you don't want the main Jabber server do the
|
||||
- logging
|
||||
+ logging -->
|
||||
<log id='elogger'>
|
||||
<host/>
|
||||
<logtype/>
|
||||
<format>%d: [%t] (%h): %s</format>
|
||||
- <file>icqerror</file>
|
||||
+ <file>/var/log/jabber/icqerror</file>
|
||||
</log>
|
||||
|
||||
<log id='rlogger'>
|
||||
<host/>
|
||||
<logtype>record</logtype>
|
||||
<format>%d %h %s</format>
|
||||
- <file>icqrecord</file>
|
||||
- </log> -->
|
||||
+ <file>/var/log/jabber/icqrecord</file>
|
||||
+ </log>
|
||||
|
||||
<!-- Some Jabber server implementations do not
|
||||
provide XDB services (for example jabberd 2.0).
|
||||
@@ -23,16 +23,16 @@
|
||||
XDB requests. This is strongly recommended if
|
||||
you use xdb_ldap, xdb_sql or other non-file XDB
|
||||
@ -13,31 +38,24 @@
|
||||
+ <xdb_file>%%PREFIX%%/lib/jabber/jit/xdb_file.so</xdb_file>
|
||||
</load>
|
||||
<xdb_file xmlns="jabber:config:xdb_file">
|
||||
<spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
|
||||
- <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
|
||||
+ <spool><jabberd:cmdline flag='s'>/var/spool/jit</jabberd:cmdline></spool>
|
||||
</xdb_file>
|
||||
- </xdb> -->
|
||||
+ </xdb>
|
||||
|
||||
<!--
|
||||
localhost is your jabber host.
|
||||
@@ -102,22 +102,21 @@
|
||||
@@ -103,7 +103,7 @@
|
||||
<session_timeout>18000</session_timeout>
|
||||
|
||||
<!-- Charset -->
|
||||
- <charset>windows-1252</charset>
|
||||
+ <charset>windows-1251</charset>
|
||||
|
||||
<!-- These IP is login.icq.com
|
||||
Use only IPs here, no host names.
|
||||
You can use hostnames but this will slow down JIT due to DNS resoling
|
||||
-->
|
||||
<server>
|
||||
- <host port="5190">205.188.179.233</host>
|
||||
- <host port="5190">64.12.200.89</host>
|
||||
+ <host port="5190">login.icq.com</host>
|
||||
</server>
|
||||
|
||||
</icqtrans>
|
||||
<!-- You may want to replace login.icq.com by the corresponding
|
||||
IPs to speed up JIT but keep in mind the IPs may change -->
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
<!-- JIT module -->
|
||||
<load>
|
||||
|
@ -1,12 +0,0 @@
|
||||
--- jit/jit/wp_client.cpp Tue Jul 6 18:58:45 2004
|
||||
+++ jit/jit/wp_client.cpp Tue Jul 6 18:55:31 2004
|
||||
@@ -146,7 +146,8 @@
|
||||
}
|
||||
|
||||
void WPclient::SignalDisconnected(DisconnectedEvent *ev) {
|
||||
- terror e = (terror){0,""};
|
||||
+ terror e;
|
||||
+ e = (terror){0,""};
|
||||
|
||||
switch(ev->getReason()){
|
||||
case DisconnectedEvent::FAILED_BADUSERNAME:
|
@ -9,6 +9,7 @@ GROUP=${USER}
|
||||
UID=93
|
||||
GID=${UID}
|
||||
SPOOLDIR="/var/spool/jit"
|
||||
LOGDIR="/var/log/jabber"
|
||||
|
||||
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
|
||||
if pw groupadd ${GROUP} -g ${GID}; then
|
||||
@ -36,6 +37,17 @@ if [ ! -d ${SPOOLDIR} ]; then
|
||||
mkdir -p ${SPOOLDIR}
|
||||
fi
|
||||
|
||||
if [ ! -d ${LOGDIR} ]; then
|
||||
echo "Creating \"${LOGDIR}\"."
|
||||
mkdir -p ${LOGDIR}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo "Fixing ownerships and modes in \"${SPOOLDIR}\"."
|
||||
chown -R ${USER}:${GROUP} ${SPOOLDIR}
|
||||
chmod -R go= ${SPOOLDIR}
|
||||
|
||||
echo "Fixing ownerships and modes in \"${LOGDIR}\"."
|
||||
chown -R ${USER}:${GROUP} ${LOGDIR}
|
||||
chmod -R go= ${LOGDIR}
|
||||
|
@ -6,16 +6,16 @@
|
||||
#
|
||||
|
||||
PORTNAME= jit
|
||||
PORTVERSION= 1.1.6
|
||||
PORTVERSION= 1.1.7
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.jabberstudio.org/files/jit/
|
||||
MASTER_SITES= http://www.jabber.ru/files/jit/
|
||||
DIST_SUBDIR= jabber
|
||||
|
||||
MAINTAINER= gonzo@univ.kiev.ua
|
||||
MAINTAINER= alexander.timoshenko@gmail.com
|
||||
COMMENT= Jabber ICQ Transport
|
||||
|
||||
USE_GMAKE= yes
|
||||
USE_REINPLACE= yes
|
||||
USE_REINPLACE= yes
|
||||
HAS_CONFIGURE= yes
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
@ -32,7 +32,7 @@ do-install:
|
||||
@${MKDIR} ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/jit/jit.so ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/xdb_file/xdb_file.so ${PREFIX}/lib/jabber/jit
|
||||
@${INSTALL_PROGRAM} ${WRKSRC}/jabberd/jabberd ${PREFIX}/sbin/jit
|
||||
@${INSTALL_PROGRAM} ${WRKSRC}/jabberd/jabberd-jit ${PREFIX}/sbin/jit
|
||||
@${INSTALL_DATA} ${WRKSRC}/jit/jabber-icq.example ${PREFIX}/etc
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/jit/jit.sh ${PREFIX}/etc/rc.d
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (jabber/jit-1.1.6.tar.gz) = 950f6b82ab5e0542535108fd54409363
|
||||
SIZE (jabber/jit-1.1.6.tar.gz) = 275246
|
||||
MD5 (jabber/jit-1.1.7.tar.gz) = 5400bd79d5014fef35fed2195967e5ae
|
||||
SIZE (jabber/jit-1.1.7.tar.gz) = 277018
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- Makefile.orig Tue Jul 6 19:11:02 2004
|
||||
+++ Makefile Tue Jul 6 19:10:53 2004
|
||||
@@ -2,6 +2,7 @@
|
||||
all:
|
||||
(cd jit && $(MAKE))
|
||||
(cd jabberd && $(MAKE))
|
||||
+ (cd xdb_file && $(MAKE))
|
||||
|
||||
clean:
|
||||
(cd jit && $(MAKE) clean)
|
@ -1,243 +0,0 @@
|
||||
diff -ru jabber.orig/lib/lib.h jabberd/lib/lib.h
|
||||
--- jabber.orig/lib/lib.h 2003-05-30 16:10:24.000000000 +0400
|
||||
+++ jabberd/lib/lib.h 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -654,6 +654,9 @@
|
||||
#define NS_XDBGINSERT "jabber:xdb:ginsert"
|
||||
#define NS_XDBNSLIST "jabber:xdb:nslist"
|
||||
|
||||
+#define NS_DISCO_INFO "http://jabber.org/protocol/disco#info"
|
||||
+#define NS_DISCO_ITEMS "http://jabber.org/protocol/disco#items"
|
||||
+
|
||||
|
||||
/* --------------------------------------------------------- */
|
||||
/* */
|
||||
diff -ru jit.orig/jit/icqtransport.h jit/jit/icqtransport.h
|
||||
--- jit.orig/jit/icqtransport.h 2003-06-02 14:06:51.000000000 +0400
|
||||
+++ jit/jit/icqtransport.h 2003-12-12 13:14:40.000000000 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "utils/english.h"
|
||||
#endif
|
||||
|
||||
-#define MOD_VERSION "1.1.6"
|
||||
+#define MOD_VERSION "1.1.6-sg2"
|
||||
#define DEFAULT_CHARSET "iso-8859-1"
|
||||
|
||||
typedef unsigned long UIN_t;
|
||||
@@ -290,6 +290,10 @@
|
||||
void it_iq_gateway_set(session s, jpacket jp);
|
||||
void it_iq_browse_server(iti ti, jpacket jp);
|
||||
void it_iq_browse_user(session s, jpacket jp);
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_info_user(session s, jpacket jp);
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_items_user(session s, jpacket jp);
|
||||
|
||||
|
||||
void it_save_contacts(session s);
|
||||
diff -ru jit.orig/jit/iq.c jit/jit/iq.c
|
||||
--- jit.orig/jit/iq.c 2003-04-29 15:03:53.000000000 +0400
|
||||
+++ jit/jit/iq.c 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -29,6 +29,10 @@
|
||||
void it_iq_gateway_set(session s, jpacket jp);
|
||||
void it_iq_browse_server(iti ti, jpacket jp);
|
||||
void it_iq_browse_user(session s, jpacket jp);
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_info_user(session s, jpacket jp);
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp);
|
||||
+void it_iq_disco_items_user(session s, jpacket jp);
|
||||
|
||||
void SendSearchUINRequest(session s,UIN_t uin);
|
||||
void SendSearchUsersRequest(session s,
|
||||
@@ -73,6 +77,10 @@
|
||||
it_iq_gateway_get(s,jp);
|
||||
else if (j_strcmp(ns,NS_BROWSE) == 0)
|
||||
jp->to->user ? it_iq_browse_user(s,jp) : it_iq_browse_server(s->ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_INFO) == 0)
|
||||
+ jp->to->user ? it_iq_disco_info_user(s,jp) : it_iq_disco_info_server(s->ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_ITEMS) == 0)
|
||||
+ jp->to->user ? it_iq_disco_items_user(s,jp) : it_iq_disco_items_server(s->ti,jp);
|
||||
else if (j_strcmp(ns,NS_VCARD) == 0)
|
||||
jp->to->user ? it_iq_vcard(s,jp) : it_iq_vcard_server(s->ti,jp);
|
||||
else if (j_strcmp(ns,NS_LAST) == 0)
|
||||
@@ -503,6 +511,8 @@
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_REGISTER,-1);
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_SEARCH,-1);
|
||||
xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_GATEWAY,-1);
|
||||
+ xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_DISCO_INFO,-1);
|
||||
+ xmlnode_insert_cdata(xmlnode_insert_tag(q,"ns"),NS_DISCO_ITEMS,-1);
|
||||
|
||||
it_deliver(ti,jp->x);
|
||||
}
|
||||
@@ -538,6 +548,131 @@
|
||||
it_deliver(s->ti,jp->x);
|
||||
}
|
||||
|
||||
+/** Service Discovery support (JEP-0030) */
|
||||
+/** Info */
|
||||
+
|
||||
+void it_iq_disco_info_server(iti ti, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q, x;
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_INFO);
|
||||
+
|
||||
+ x = xmlnode_insert_tag(q,"identity");
|
||||
+ xmlnode_put_attrib(x,"category","gateway");
|
||||
+ xmlnode_put_attrib(x,"type","icq");
|
||||
+ xmlnode_put_attrib(x,"name",xmlnode_get_tag_data(ti->vcard,"FN"));
|
||||
+
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_REGISTER);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_SEARCH);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_VERSION);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_TIME);
|
||||
+ xmlnode_put_attrib(xmlnode_insert_tag(q,"feature"),"var",NS_LAST);
|
||||
+
|
||||
+ it_deliver(ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+void it_iq_disco_info_user(session s, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q, x;
|
||||
+
|
||||
+ if (s->type == stype_register)
|
||||
+ {
|
||||
+ queue_elem queue;
|
||||
+
|
||||
+ queue = pmalloco(jp->p,sizeof(_queue_elem));
|
||||
+ queue->elem = (void *)jp;
|
||||
+
|
||||
+ QUEUE_PUT(s->queue,s->queue_last,queue);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (it_jid2uin(jp->from) == 0)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_BAD);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_INFO);
|
||||
+ x = xmlnode_insert_tag(q,"identity");
|
||||
+ xmlnode_put_attrib(x,"category","user");
|
||||
+ xmlnode_put_attrib(x,"type","client");
|
||||
+ xmlnode_put_attrib(x,"name", jp->to->user);
|
||||
+
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+/** Service Discovery support (JEP-0030) */
|
||||
+/** Items */
|
||||
+
|
||||
+void it_iq_disco_items_server(iti ti, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q;
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_ITEMS);
|
||||
+
|
||||
+ it_deliver(ti,jp->x);
|
||||
+}
|
||||
+
|
||||
+void it_iq_disco_items_user(session s, jpacket jp)
|
||||
+{
|
||||
+ xmlnode q;
|
||||
+
|
||||
+ if (s->type == stype_register)
|
||||
+ {
|
||||
+ queue_elem queue;
|
||||
+
|
||||
+ queue = pmalloco(jp->p,sizeof(_queue_elem));
|
||||
+ queue->elem = (void *)jp;
|
||||
+
|
||||
+ QUEUE_PUT(s->queue,s->queue_last,queue);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (it_jid2uin(jp->from) == 0)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_BAD);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if(xmlnode_get_attrib(xmlnode_get_tag(jp->x, "query"),"node") != NULL)
|
||||
+ {
|
||||
+ jutil_error(jp->x,TERROR_NOTALLOWED);
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ q = xmlnode_insert_tag(jutil_iqresult(jp->x),"query");
|
||||
+ xmlnode_put_attrib(q,"xmlns",NS_DISCO_ITEMS);
|
||||
+
|
||||
+ it_deliver(s->ti,jp->x);
|
||||
+}
|
||||
+
|
||||
/** Send reply to a version inquiry to Jabber */
|
||||
void it_iq_version(iti ti, jpacket jp)
|
||||
{
|
||||
diff -ru jit.orig/jit/session.c jit/jit/session.c
|
||||
--- jit.orig/jit/session.c 2003-05-12 15:07:53.000000000 +0400
|
||||
+++ jit/jit/session.c 2003-12-12 12:59:30.000000000 +0300
|
||||
@@ -429,6 +429,11 @@
|
||||
time(NULL)-s->start_time);
|
||||
}
|
||||
|
||||
+ if ((s->ti->own_roster)&&(s->roster_changed)) {
|
||||
+ it_save_contacts(s);
|
||||
+ s->roster_changed = 0;
|
||||
+ }
|
||||
+
|
||||
/* remove from hash */
|
||||
SEM_LOCK(s->ti->sessions_sem);
|
||||
wpxhash_zap(s->ti->sessions,jid_full(s->id));
|
||||
@@ -468,6 +473,11 @@
|
||||
else
|
||||
it_session_regerr(s,e);
|
||||
|
||||
+ if ((s->ti->own_roster)&&(s->roster_changed)) {
|
||||
+ it_save_contacts(s);
|
||||
+ s->roster_changed = 0;
|
||||
+ }
|
||||
+
|
||||
/* remove from hash */
|
||||
SEM_LOCK(s->ti->sessions_sem);
|
||||
wpxhash_zap(s->ti->sessions,jid_full(s->id));
|
||||
diff -ru jit.orig/jit/unknown.c jit/jit/unknown.c
|
||||
--- jit.orig/jit/unknown.c 2003-04-29 14:19:42.000000000 +0400
|
||||
+++ jit/jit/unknown.c 2003-12-11 22:48:04.000000000 +0300
|
||||
@@ -84,6 +84,10 @@
|
||||
}
|
||||
else if (j_strcmp(ns,NS_BROWSE) == 0)
|
||||
it_iq_browse_server(ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_INFO) == 0)
|
||||
+ it_iq_disco_info_server(ti,jp);
|
||||
+ else if (j_strcmp(ns,NS_DISCO_ITEMS) == 0)
|
||||
+ it_iq_disco_items_server(ti,jp);
|
||||
else if (j_strcmp(ns,NS_VERSION) == 0)
|
||||
it_iq_version(ti,jp);
|
||||
else if (j_strcmp(ns,NS_TIME) == 0)
|
@ -1,24 +0,0 @@
|
||||
--- jabberd/mio_xml.c.orig Tue Jul 6 19:06:24 2004
|
||||
+++ jabberd/mio_xml.c Tue Jul 6 19:07:34 2004
|
||||
@@ -142,14 +142,13 @@
|
||||
nul += 4;
|
||||
bufsz = bufsz - (nul - buf);
|
||||
buf = nul;
|
||||
- mio_write(m,NULL,"HTTP/1.0 200 Ok
|
||||
-Server: jabber/xmlstream-hack-0.1
|
||||
-Expires: Fri, 10 Oct 1997 10:10:10 GMT
|
||||
-Pragma: no-cache
|
||||
-Cache-control: private
|
||||
-Connection: close
|
||||
-
|
||||
-",-1);
|
||||
+ mio_write(m,NULL,"HTTP/1.0 200 Ok\n" \
|
||||
+"Server: jabber/xmlstream-hack-0.1\n" \
|
||||
+"Expires: Fri, 10 Oct 1997 10:10:10 GMT\n" \
|
||||
+"Pragma: no-cache\n" \
|
||||
+"Cache-control: private\n" \
|
||||
+"Connection: close\n" \
|
||||
+"\n", -1);
|
||||
m->type = type_NORMAL;
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- jabberd/mtq.c.orig Tue Jul 6 19:18:05 2004
|
||||
+++ jabberd/mtq.c Tue Jul 6 19:18:29 2004
|
||||
@@ -127,7 +127,7 @@
|
||||
while(1) {
|
||||
|
||||
if (t->mtq->last == NULL ) {
|
||||
- Sleep(1);
|
||||
+ Sleep(500);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,30 @@
|
||||
--- jit/jabber-icq.example.orig Tue Jul 20 16:54:23 2004
|
||||
+++ jit/jabber-icq.example Tue Jul 20 16:59:10 2004
|
||||
--- jit/jabber-icq.example.orig Mon Jan 19 23:30:03 2004
|
||||
+++ jit/jabber-icq.example Thu Feb 17 20:38:49 2005
|
||||
@@ -2,20 +2,20 @@
|
||||
|
||||
<!-- you can add elogger and rlogger entries here if
|
||||
you don't want the main Jabber server do the
|
||||
- logging
|
||||
+ logging -->
|
||||
<log id='elogger'>
|
||||
<host/>
|
||||
<logtype/>
|
||||
<format>%d: [%t] (%h): %s</format>
|
||||
- <file>icqerror</file>
|
||||
+ <file>/var/log/jabber/icqerror</file>
|
||||
</log>
|
||||
|
||||
<log id='rlogger'>
|
||||
<host/>
|
||||
<logtype>record</logtype>
|
||||
<format>%d %h %s</format>
|
||||
- <file>icqrecord</file>
|
||||
- </log> -->
|
||||
+ <file>/var/log/jabber/icqrecord</file>
|
||||
+ </log>
|
||||
|
||||
<!-- Some Jabber server implementations do not
|
||||
provide XDB services (for example jabberd 2.0).
|
||||
@@ -23,16 +23,16 @@
|
||||
XDB requests. This is strongly recommended if
|
||||
you use xdb_ldap, xdb_sql or other non-file XDB
|
||||
@ -13,31 +38,24 @@
|
||||
+ <xdb_file>%%PREFIX%%/lib/jabber/jit/xdb_file.so</xdb_file>
|
||||
</load>
|
||||
<xdb_file xmlns="jabber:config:xdb_file">
|
||||
<spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
|
||||
- <spool><jabberd:cmdline flag='s'>./spool</jabberd:cmdline></spool>
|
||||
+ <spool><jabberd:cmdline flag='s'>/var/spool/jit</jabberd:cmdline></spool>
|
||||
</xdb_file>
|
||||
- </xdb> -->
|
||||
+ </xdb>
|
||||
|
||||
<!--
|
||||
localhost is your jabber host.
|
||||
@@ -102,22 +102,21 @@
|
||||
@@ -103,7 +103,7 @@
|
||||
<session_timeout>18000</session_timeout>
|
||||
|
||||
<!-- Charset -->
|
||||
- <charset>windows-1252</charset>
|
||||
+ <charset>windows-1251</charset>
|
||||
|
||||
<!-- These IP is login.icq.com
|
||||
Use only IPs here, no host names.
|
||||
You can use hostnames but this will slow down JIT due to DNS resoling
|
||||
-->
|
||||
<server>
|
||||
- <host port="5190">205.188.179.233</host>
|
||||
- <host port="5190">64.12.200.89</host>
|
||||
+ <host port="5190">login.icq.com</host>
|
||||
</server>
|
||||
|
||||
</icqtrans>
|
||||
<!-- You may want to replace login.icq.com by the corresponding
|
||||
IPs to speed up JIT but keep in mind the IPs may change -->
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
<!-- JIT module -->
|
||||
<load>
|
||||
|
@ -1,12 +0,0 @@
|
||||
--- jit/jit/wp_client.cpp Tue Jul 6 18:58:45 2004
|
||||
+++ jit/jit/wp_client.cpp Tue Jul 6 18:55:31 2004
|
||||
@@ -146,7 +146,8 @@
|
||||
}
|
||||
|
||||
void WPclient::SignalDisconnected(DisconnectedEvent *ev) {
|
||||
- terror e = (terror){0,""};
|
||||
+ terror e;
|
||||
+ e = (terror){0,""};
|
||||
|
||||
switch(ev->getReason()){
|
||||
case DisconnectedEvent::FAILED_BADUSERNAME:
|
@ -9,6 +9,7 @@ GROUP=${USER}
|
||||
UID=93
|
||||
GID=${UID}
|
||||
SPOOLDIR="/var/spool/jit"
|
||||
LOGDIR="/var/log/jabber"
|
||||
|
||||
if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
|
||||
if pw groupadd ${GROUP} -g ${GID}; then
|
||||
@ -36,6 +37,17 @@ if [ ! -d ${SPOOLDIR} ]; then
|
||||
mkdir -p ${SPOOLDIR}
|
||||
fi
|
||||
|
||||
if [ ! -d ${LOGDIR} ]; then
|
||||
echo "Creating \"${LOGDIR}\"."
|
||||
mkdir -p ${LOGDIR}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo "Fixing ownerships and modes in \"${SPOOLDIR}\"."
|
||||
chown -R ${USER}:${GROUP} ${SPOOLDIR}
|
||||
chmod -R go= ${SPOOLDIR}
|
||||
|
||||
echo "Fixing ownerships and modes in \"${LOGDIR}\"."
|
||||
chown -R ${USER}:${GROUP} ${LOGDIR}
|
||||
chmod -R go= ${LOGDIR}
|
||||
|
Loading…
Reference in New Issue
Block a user