comparison src/protocols/oscar/icq.c @ 4664:eab1309693b8

[gaim-migrate @ 4975] It's a step in the right direction. Maybe. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 07 Mar 2003 07:36:11 +0000
parents 819ba05f5b1b
children 1762496d502a
comparison
equal deleted inserted replaced
4663:788f78343113 4664:eab1309693b8
62 62
63 aimbs_putle16(&fr->data, bslen - 2); 63 aimbs_putle16(&fr->data, bslen - 2);
64 aimbs_putle32(&fr->data, atoi(sess->sn)); 64 aimbs_putle32(&fr->data, atoi(sess->sn));
65 aimbs_putle16(&fr->data, 0x003e); /* I command thee. */ 65 aimbs_putle16(&fr->data, 0x003e); /* I command thee. */
66 aimbs_putle16(&fr->data, snacid); /* eh. */ 66 aimbs_putle16(&fr->data, snacid); /* eh. */
67
68 aim_tx_enqueue(sess, fr);
69
70 return 0;
71 }
72
73 faim_export int aim_icq_hideip(aim_session_t *sess)
74 {
75 aim_conn_t *conn;
76 aim_frame_t *fr;
77 aim_snacid_t snacid;
78 int bslen;
79
80 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015)))
81 return -EINVAL;
82
83 bslen = 2+4+2+2+2+4;
84
85 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + bslen)))
86 return -ENOMEM;
87
88 snacid = aim_cachesnac(sess, 0x0015, 0x0002, 0x0000, NULL, 0);
89 aim_putsnac(&fr->data, 0x0015, 0x0002, 0x0000, snacid);
90
91 /* For simplicity, don't bother using a tlvlist */
92 aimbs_put16(&fr->data, 0x0001);
93 aimbs_put16(&fr->data, bslen);
94
95 aimbs_putle16(&fr->data, bslen - 2);
96 aimbs_putle32(&fr->data, atoi(sess->sn));
97 aimbs_putle16(&fr->data, 0x07d0); /* I command thee. */
98 aimbs_putle16(&fr->data, snacid); /* eh. */
99 aimbs_putle16(&fr->data, 0x0424); /* shrug. */
100 aimbs_putle16(&fr->data, 0x0001);
101 aimbs_putle16(&fr->data, 0x0001);
67 102
68 aim_tx_enqueue(sess, fr); 103 aim_tx_enqueue(sess, fr);
69 104
70 return 0; 105 return 0;
71 } 106 }
335 info->next = sess->icq_info; 370 info->next = sess->icq_info;
336 sess->icq_info = info; 371 sess->icq_info = info;
337 } 372 }
338 373
339 switch (subtype) { 374 switch (subtype) {
375 case 0x00a0: { /* hide ip status */
376 /* nothing */
377 } break;
378
340 case 0x00aa: { /* password change status */ 379 case 0x00aa: { /* password change status */
341 aimbs_getle8(&qbs); /* 0x000a for success */ 380 /* nothing */
342 } break; 381 } break;
343 382
344 case 0x00c8: { /* general and "home" information */ 383 case 0x00c8: { /* general and "home" information */
345 info->nick = aimbs_getstr(&qbs, aimbs_getle16(&qbs)); 384 info->nick = aimbs_getstr(&qbs, aimbs_getle16(&qbs));
346 info->first = aimbs_getstr(&qbs, aimbs_getle16(&qbs)); 385 info->first = aimbs_getstr(&qbs, aimbs_getle16(&qbs));