Mercurial > pidgin
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)); |