[ekg2-commit] r4255 - trunk/plugins/icq: trunk/plugins/icq/icq.h trunk/plugins/icq/icq_snac_handlers_02location.c

SVN commit svn w toxygen.net
Sob, 9 Sie 2008, 15:01:21 CEST


Author: wiechu
Date: 2008-08-09 15:01:20 +0200 (Sat, 09 Aug 2008)
New Revision: 4255

Modified:
   trunk/plugins/icq/icq.h
   trunk/plugins/icq/icq_snac_handlers_02location.c
Log:
    icq: handle (still) unused informations

Modified: trunk/plugins/icq/icq.h
===================================================================
--- trunk/plugins/icq/icq.h	2008-08-09 09:12:24 UTC (rev 4254)
+++ trunk/plugins/icq/icq.h	2008-08-09 13:01:20 UTC (rev 4255)
@@ -29,4 +29,6 @@
 #define MIRANDAOK 1
 #define MIRANDA_COMPILANT_CLIENT 1
 
+#define ICQ_DEBUG_UNUSED_INFORMATIONS 1
+
 #endif

Modified: trunk/plugins/icq/icq_snac_handlers_02location.c
===================================================================
--- trunk/plugins/icq/icq_snac_handlers_02location.c	2008-08-09 09:12:24 UTC (rev 4254)
+++ trunk/plugins/icq/icq_snac_handlers_02location.c	2008-08-09 13:01:20 UTC (rev 4255)
@@ -37,16 +37,96 @@
 }
 
 SNAC_SUBHANDLER(icq_snac_location_replyreq) {
+	/*
+	 * Handle SNAC(0x2,0x3) -- Limitations/params response
+	 *
+	 */
+
 	debug_function("icq_snac_location_replyreq()\n");
+
+#ifdef ICQ_DEBUG_UNUSED_INFORMATIONS
+	struct icq_tlv_list *tlvs;
+	icq_tlv_t *t;
+
+	tlvs = icq_unpack_tlvs(buf, len, 0);
+	for (t = tlvs; t; t = t->next) {
+		if (tlv_length_check("icq_snac_location_replyreq()", t, 2))
+			continue;
+		switch (t->type) {
+			case 0x01:
+				debug_white("Maximum signature length for this user: %d\n", t->nr);
+				break;
+			case 0x02:
+				debug_white("Number of full UUID capabilities allowed: %d\n", t->nr);
+				break;
+			case 0x03:
+				debug_white("Maximum number of email addresses to look up at once: %d\n", t->nr);
+				break;
+			case 0x04:
+				debug_white("Largest CERT length for end to end encryption: %d\n", t->nr);
+				break;
+			case 0x05:
+				debug_white("Number of short UUID capabilities allowed: %d\n", t->nr);
+				break;
+			default:
+				debug_error("icq_snac_location_replyreq() Unknown type=0x%x\n", t->type);
+		}
+	}
+	icq_tlvs_destroy(&tlvs);
+#endif
 	return 0;
 }
 
 SNAC_SUBHANDLER(SNAC_LOC_06) {
+	/*
+	 * Handle SNAC(0x2,0x6) -- User information response
+	 *
+	 */
 	debug_error("SNAC_LOC_06() XXX\n");
 
 	return -3;
 }
 
+SNAC_SUBHANDLER(SNAC_LOC_08) {
+	/*
+	 * Handle SNAC(0x2,0x8) -- Watcher notification
+	 *
+	 */
+	debug_error("SNAC_LOC_08() XXX\n");
+
+	return -3;
+}
+
+SNAC_SUBHANDLER(SNAC_LOC_0A) {
+	/*
+	 * Handle SNAC(0x2,0xa) -- Update directory info reply
+	 *
+	 */
+	debug_error("SNAC_LOC_0A() XXX\n");
+
+	return -3;
+}
+
+SNAC_SUBHANDLER(SNAC_LOC_0C) {
+	/*
+	 * Handle SNAC(0x2,0xc) -- Reply to SNAC(02,0B) ???
+	 *
+	 */
+	debug_error("SNAC_LOC_0C() XXX\n");
+
+	return -3;
+}
+
+SNAC_SUBHANDLER(SNAC_LOC_10) {
+	/*
+	 * Handle SNAC(0x2,0x10) -- Update user directory interests reply
+	 *
+	 */
+	debug_error("SNAC_LOC_10() XXX\n");
+
+	return -3;
+}
+
 SNAC_HANDLER(icq_snac_location_handler) {
 	snac_subhandler_t handler;
 
@@ -54,6 +134,10 @@
 		case 0x01: handler = icq_snac_location_error;	break;
 		case 0x03: handler = icq_snac_location_replyreq; break;	/* Miranda: OK */
 		case 0x06: handler = SNAC_LOC_06;		break;
+		case 0x08: handler = SNAC_LOC_08;		break;
+		case 0x0A: handler = SNAC_LOC_0A;		break;
+		case 0x0C: handler = SNAC_LOC_0C;		break;
+		case 0x10: handler = SNAC_LOC_10;		break;
 		default:   handler = NULL;			break;
 	}
 



Więcej informacji o liście dyskusyjnej ekg2-commit