comparison src/protocols/oscar/im.c @ 8708:f71c0a3fcb3d

[gaim-migrate @ 9461] Make receiving an oscar message from ICQ Lite Beta 4.0 to a Gaim AIM account parse HTML rather than display it as-is. Also fiddled around with some comments. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 18 Apr 2004 21:58:16 +0000
parents 9790cda80d52
children 92cbf9713795
comparison
equal deleted inserted replaced
8707:4c7bc4b0f190 8708:f71c0a3fcb3d
1647 * 1647 *
1648 */ 1648 */
1649 static void incomingim_ch2_icqserverrelay(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_userinfo_t *userinfo, struct aim_incomingim_ch2_args *args, aim_bstream_t *servdata) 1649 static void incomingim_ch2_icqserverrelay(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_userinfo_t *userinfo, struct aim_incomingim_ch2_args *args, aim_bstream_t *servdata)
1650 { 1650 {
1651 fu16_t hdrlen, anslen, msglen; 1651 fu16_t hdrlen, anslen, msglen;
1652 fu16_t msgtype;
1653 1652
1654 hdrlen = aimbs_getle16(servdata); 1653 hdrlen = aimbs_getle16(servdata);
1655 aim_bstream_advance(servdata, hdrlen); 1654 aim_bstream_advance(servdata, hdrlen);
1656 1655
1657 hdrlen = aimbs_getle16(servdata); 1656 hdrlen = aimbs_getle16(servdata);
1658 aim_bstream_advance(servdata, hdrlen); 1657 aim_bstream_advance(servdata, hdrlen);
1659 1658
1660 msgtype = aimbs_getle16(servdata); 1659 args->info.rtfmsg.msgtype = aimbs_getle16(servdata);
1661 1660
1662 anslen = aimbs_getle32(servdata); 1661 anslen = aimbs_getle32(servdata);
1663 aim_bstream_advance(servdata, anslen); 1662 aim_bstream_advance(servdata, anslen);
1664 1663
1665 msglen = aimbs_getle16(servdata); 1664 msglen = aimbs_getle16(servdata);
1666 args->info.rtfmsg.rtfmsg = aimbs_getstr(servdata, msglen); 1665 args->info.rtfmsg.rtfmsg = aimbs_getstr(servdata, msglen);
1668 args->info.rtfmsg.fgcolor = aimbs_getle32(servdata); 1667 args->info.rtfmsg.fgcolor = aimbs_getle32(servdata);
1669 args->info.rtfmsg.bgcolor = aimbs_getle32(servdata); 1668 args->info.rtfmsg.bgcolor = aimbs_getle32(servdata);
1670 1669
1671 hdrlen = aimbs_getle32(servdata); 1670 hdrlen = aimbs_getle32(servdata);
1672 aim_bstream_advance(servdata, hdrlen); 1671 aim_bstream_advance(servdata, hdrlen);
1673
1674 /* XXX - This is such a hack. */
1675 args->reqclass = AIM_CAPS_ICQRTF;
1676 1672
1677 args->destructor = (void *)incomingim_ch2_icqserverrelay_free; 1673 args->destructor = (void *)incomingim_ch2_icqserverrelay_free;
1678 1674
1679 return; 1675 return;
1680 } 1676 }
1822 */ 1818 */
1823 if (aim_tlv_gettlv(list2, 0x0005, 1)) 1819 if (aim_tlv_gettlv(list2, 0x0005, 1))
1824 args.port = aim_tlv_get16(list2, 0x0005, 1); 1820 args.port = aim_tlv_get16(list2, 0x0005, 1);
1825 1821
1826 /* 1822 /*
1827 * Something to do with ft -- two bytes 1823 * Something to do with ft? -- two bytes
1828 * 0x0001 - "I want to send you this file" 1824 * 0x0001 - "I want to send you this file"
1829 * 0x0002 - "I will accept this file from you" 1825 * 0x0002 - "I will accept this file from you"
1826 * 0x0002 - Also used in ICQ Lite Beta 4.0 URLs
1830 */ 1827 */
1831 if (aim_tlv_gettlv(list2, 0x000a, 1)) 1828 if (aim_tlv_gettlv(list2, 0x000a, 1))
1832 ; 1829 ;
1833 1830
1834 /* 1831 /*
1857 1854
1858 /* 1855 /*
1859 * Unknown -- no value 1856 * Unknown -- no value
1860 * 1857 *
1861 * Maybe means we should connect directly to transfer the file? 1858 * Maybe means we should connect directly to transfer the file?
1859 * Also used in ICQ Lite Beta 4.0 URLs. Also empty.
1862 */ 1860 */
1863 if (aim_tlv_gettlv(list2, 0x000f, 1)) 1861 if (aim_tlv_gettlv(list2, 0x000f, 1))
1864 ; 1862 ;
1865 1863
1866 /* 1864 /*
1878 if (strlen(verifiedip)) 1876 if (strlen(verifiedip))
1879 args.verifiedip = (char *)verifiedip; 1877 args.verifiedip = (char *)verifiedip;
1880 1878
1881 /* 1879 /*
1882 * This must be present in PROPOSALs, but will probably not 1880 * This must be present in PROPOSALs, but will probably not
1883 * exist in CANCELs and ACCEPTs. 1881 * exist in CANCELs and ACCEPTs. Also exists in ICQ Lite
1882 * Beta 4.0 URLs (AIM_CAPS_ICQSERVERRELAY).
1884 * 1883 *
1885 * Service Data blocks are module-specific in format. 1884 * Service Data blocks are module-specific in format.
1886 */ 1885 */
1887 if ((servdatatlv = aim_tlv_gettlv(list2, 0x2711 /* 10001 */, 1))) { 1886 if ((servdatatlv = aim_tlv_gettlv(list2, 0x2711 /* 10001 */, 1))) {
1888 1887