Linux: ejabberd-1.0.0 + jit-1.1.7 не работает поиск ICQ это нормально?

Я установил данную связку, вроде все работает, но есть проблема:
Jabber клиенты не ищут людей в ICQ, при этом клиент и сервер долго думают, а в
логах появляется что-то вроде:

20060209T19:02:16: [warn] (jit/wp_client.cpp:674): Buffer pointer not at end aft
er parsing FLAP was: 0x88 should be: 0x100 on channel 0x2

20060209T19:04:26: [alert] (jit/wp_client.cpp:651): search timedout

Кто-нибудь решал такую проблему?

Patch для реанимации поиска в JIT

--- SNAC-SRV.cpp.orig	Thu Jan  9 19:41:56 2003
+++ SNAC-SRV.cpp	Thu Apr  6 18:39:41 2006
@@ -216,32 +216,70 @@
 
     b << (unsigned short)2000	/* type 9808 */
       << (unsigned short)m_requestID /* low word of the request ID */
-      << (unsigned short)0x0533;	/* subtype wp-full-request */
-    b.PackUint16TranslatedNull(m_firstname);
-    b.PackUint16TranslatedNull(m_lastname);
-    b.PackUint16TranslatedNull(m_nickname);
-    b.PackUint16TranslatedNull(m_email);
-    b << (unsigned short)m_min_age;		// minimum age
-    b << (unsigned short)m_max_age;		// maximum age
-    b << (unsigned char)m_sex;			// sex
-    b << (unsigned char)m_language;             // language
-    b.PackUint16TranslatedNull(m_city);             // city
-    b.PackUint16TranslatedNull(m_state);            // state
-    b << (unsigned short)m_country;             // country
-    b.PackUint16TranslatedNull(m_company_name);	// company name
-    b.PackUint16TranslatedNull(m_department);	// department
-    b.PackUint16TranslatedNull(m_position);		// position
-    b << (unsigned char)0x00;			// occupation
-    b << (unsigned short)0x0000;		// past info category
-    b.PackUint16TranslatedNull("");			//           description
-    b << (unsigned short)0x0000;		// interests category
-    b.PackUint16TranslatedNull("");			//           description
-    b << (unsigned short)0x0000;		// affiliation/organization
-    b.PackUint16TranslatedNull("");			//           description
-    b << (unsigned short)0x0000;		// homepage category
-    b.PackUint16TranslatedNull("");			//           description
-    b << (unsigned char)(m_only_online ? 0x01 : 0x00);
+      << (unsigned short)0x055f;	/* subtype wp-full-request */
+    Buffer::marker m3;
+    if(m_firstname.size()){
+	b << (unsigned short)0x0140;
+        m3 = b.getAutoSizeShortMarker();
+        b.PackUint16TranslatedNull(m_firstname);
+        b.setAutoSizeMarker(m3);
+    };
+    if(m_lastname.size()){
+	b << (unsigned short)0x014A;
+        m3 = b.getAutoSizeShortMarker();
+        b.PackUint16TranslatedNull(m_lastname);
+        b.setAutoSizeMarker(m3);
+    };
+    if(m_nickname.size()){
+	b << (unsigned short)0x0154;
+        m3 = b.getAutoSizeShortMarker();
+        b.PackUint16TranslatedNull(m_nickname);
+        b.setAutoSizeMarker(m3);
+    };
+    if(m_email.size()){
+	b << (unsigned short)0x015e;
+        m3 = b.getAutoSizeShortMarker();
+        b.PackUint16TranslatedNull(m_email);
+        b.setAutoSizeMarker(m3);
+    };
+    if(m_min_age < m_max_age){
+	b << (unsigned short)0x0168
+          << (unsigned short)0x0004
+          << (unsigned short)m_min_age		// minimum age
+          << (unsigned short)m_max_age;		// maximum age
+    };
+    if(m_sex){
+	b << (unsigned short)0x017c
+          << (unsigned short)0x0001
+          << (unsigned char)m_sex;			// sex
+    };
+//    b << (unsigned char)m_language;             // language
+    if(m_city.size()){
+	b << (unsigned short)0x0190;
+        m3 = b.getAutoSizeShortMarker();
+        b.PackUint16TranslatedNull(m_city);
+        b.setAutoSizeMarker(m3);
+    };
+//    b.PackUint16TranslatedNull(m_state);            // state
+//    b << (unsigned short)m_country;             // country
+//    b.PackUint16TranslatedNull(m_company_name);	// company name
+//    b.PackUint16TranslatedNull(m_department);	// department
+//    b.PackUint16TranslatedNull(m_position);		// position
+//    b << (unsigned char)0x00;			// occupation
+//    b << (unsigned short)0x0000;		// past info category
+//    b.PackUint16TranslatedNull("");			//           description
+//    b << (unsigned short)0x0000;		// interests category
+//    b.PackUint16TranslatedNull("");			//           description
+//    b << (unsigned short)0x0000;		// affiliation/organization
+//    b.PackUint16TranslatedNull("");			//           description
+//    b << (unsigned short)0x0000;		// homepage category
+//    b.PackUint16TranslatedNull("");			//           description
+    if(m_only_online){
+	b << (unsigned short)0x0230
+          << (unsigned short)0x0001
+          << (unsigned char)0x01;
                                                 // only-online flag
+    };
     b.setAutoSizeMarker(m1);
     b.setAutoSizeMarker(m2);
   }

--
I1.

I confirm that JIT 1.1.6

I confirm that JIT 1.1.6 with this patch can search in ICQ. Package for Debian sarge is in the usual place http://sgolovan.nes.ru/debian/.

таже проблема,

таже проблема, пробовал с эти патчем. не помогло, как искал долго, так и ишет, пробовал другой патч тоже не помогло.

может еще что то где то надо подправить?

It works with JIT 1.1.7

It works with JIT 1.1.7 ( http://www.jabber.ru/files/jit/jit-1.1.7.tar.gz )

I use this patch (with included announce of real jids and this search).
http://www.jabber.ttn.ru/files/server/jit/ttn20061120-jit-1.1.7.diff

Syndicate content