You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(106) |
Oct
(334) |
Nov
(246) |
Dec
(145) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(53) |
Mar
(232) |
Apr
(109) |
May
(137) |
Jun
(63) |
Jul
(26) |
Aug
(263) |
Sep
(193) |
Oct
(507) |
Nov
(440) |
Dec
(241) |
2003 |
Jan
(567) |
Feb
(195) |
Mar
(504) |
Apr
(481) |
May
(524) |
Jun
(522) |
Jul
(594) |
Aug
(502) |
Sep
(643) |
Oct
(508) |
Nov
(430) |
Dec
(377) |
2004 |
Jan
(361) |
Feb
(251) |
Mar
(219) |
Apr
(499) |
May
(461) |
Jun
(419) |
Jul
(314) |
Aug
(519) |
Sep
(416) |
Oct
(247) |
Nov
(305) |
Dec
(382) |
2005 |
Jan
(267) |
Feb
(282) |
Mar
(327) |
Apr
(338) |
May
(189) |
Jun
(400) |
Jul
(462) |
Aug
(530) |
Sep
(316) |
Oct
(523) |
Nov
(481) |
Dec
(650) |
2006 |
Jan
(536) |
Feb
(361) |
Mar
(287) |
Apr
(146) |
May
(101) |
Jun
(169) |
Jul
(221) |
Aug
(498) |
Sep
(300) |
Oct
(236) |
Nov
(209) |
Dec
(205) |
2007 |
Jan
(30) |
Feb
(23) |
Mar
(26) |
Apr
(15) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sean E. <sea...@us...> - 2002-08-29 00:32:24
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv30724 Modified Files: Tag: gtk1-stable ChangeLog configure.ac configure.in Log Message: Some bug fix patches from Ari Pollak Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.509.2.14 retrieving revision 1.509.2.15 diff -u -d -r1.509.2.14 -r1.509.2.15 --- ChangeLog 28 Aug 2002 07:50:47 -0000 1.509.2.14 +++ ChangeLog 29 Aug 2002 00:32:21 -0000 1.509.2.15 @@ -10,6 +10,10 @@ * Improved MSN internationalization (Thanks A Lee) * Smiley lookup will search for longest match for smilies like :-(( (Thanks Eric Melski) + * When an IM image is clicked, don't open the browser (Thanks + Ari Pollak) + * Prevent a possible crash in unhide_buddy_list() (Thanks Ari + Pollak) version 0.59.1 (08/25/2002) * Created a gtk1-stable branch for GTK+ 1.2 bugfix releases. Index: configure.ac =================================================================== RCS file: /cvsroot/gaim/gaim/configure.ac,v retrieving revision 1.70.2.3 retrieving revision 1.70.2.4 diff -u -d -r1.70.2.3 -r1.70.2.4 --- configure.ac 26 Aug 2002 01:05:21 -0000 1.70.2.3 +++ configure.ac 29 Aug 2002 00:32:21 -0000 1.70.2.4 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/aim.c) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE([gaim], [0.59.1]) +AM_INIT_AUTOMAKE([gaim], [0.59.2cvs]) AC_PREREQ([2.50]) Index: configure.in =================================================================== RCS file: /cvsroot/gaim/gaim/configure.in,v retrieving revision 1.118.2.3 retrieving revision 1.118.2.4 diff -u -d -r1.118.2.3 -r1.118.2.4 --- configure.in 26 Aug 2002 01:05:21 -0000 1.118.2.3 +++ configure.in 29 Aug 2002 00:32:21 -0000 1.118.2.4 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/aim.c) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE([gaim], [0.59.1]) +AM_INIT_AUTOMAKE([gaim], [0.59.2cvs]) |
From: Rob F. <rob...@us...> - 2002-08-28 18:25:58
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv18267 Modified Files: ChangeLog Log Message: my bad Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.532 retrieving revision 1.533 diff -u -d -r1.532 -r1.533 --- ChangeLog 28 Aug 2002 17:49:02 -0000 1.532 +++ ChangeLog 28 Aug 2002 18:25:54 -0000 1.533 @@ -7,7 +7,7 @@ * Finnish translation updated (Thanks, Tero Kuusela) * Spanish translation updated (Thanks, Lars Goldschlager) * Traditional Chinese translation updated (Thanks, Paladin Liu) - * Japanese translation updated (Thanks, Ryosuke Kutsuna) + * Japanese translation updated (Thanks, Junichi Uekawa) * Romanian translation added (Thanks, Misu Moldovan) * Jabber invisibility and permanently cancel sending on- line status to Jabber buddies. |
From: Rob F. <rob...@us...> - 2002-08-28 17:49:06
|
Update of /cvsroot/gaim/gaim/po In directory usw-pr-cvs1:/tmp/cvs-serv28119/po Modified Files: ja.po Log Message: So are the japanese... Index: ja.po =================================================================== RCS file: /cvsroot/gaim/gaim/po/ja.po,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ja.po 27 Aug 2002 02:43:53 -0000 1.5 +++ ja.po 28 Aug 2002 17:49:02 -0000 1.6 @@ -1,4064 +1,3546 @@ -# gaim japanese message catalog -# Copyright (C) 2002 Free Software Foundation, Inc. -# Ryosuke Kutsuna <ry...@co...>, 2002 -# -msgid "" -msgstr "" -"Project-Id-Version: gaim version 0.56\n" -"POT-Creation-Date: 2002-08-25 23:43-0400\n" -"PO-Revision-Date: 2002-04-22 13:12+0900\n" -"Last-Translator: Ryosuke Kutsuna <ry...@co...>\n" -"Language-Team: Japanese\n" [...7579 lines suppressed...] +#: plugins/chatlist.c:398 +msgid "List of subscribed chats" +msgstr "»²²Ã¤·¤Æ¤¤¤ë¥Á¥ã¥Ã¥È¤Î°ìÍ÷" + +#, fuzzy +#~ msgid "(No" +#~ msgstr "¤¤¤¤¤¨" + +#, fuzzy +#~ msgid "Change" +#~ msgstr "Àܳ:" + +#~ msgid "Enable sounds" +#~ msgstr "²»¤Î͸ú²½" + +#~ msgid "KFM" +#~ msgstr "KFM" + +#~ msgid "Manual" +#~ msgstr "¼êºî¶È" |
From: Rob F. <rob...@us...> - 2002-08-28 17:49:05
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv28119 Modified Files: ChangeLog Log Message: So are the japanese... Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.531 retrieving revision 1.532 diff -u -d -r1.531 -r1.532 --- ChangeLog 28 Aug 2002 14:43:29 -0000 1.531 +++ ChangeLog 28 Aug 2002 17:49:02 -0000 1.532 @@ -7,6 +7,7 @@ * Finnish translation updated (Thanks, Tero Kuusela) * Spanish translation updated (Thanks, Lars Goldschlager) * Traditional Chinese translation updated (Thanks, Paladin Liu) + * Japanese translation updated (Thanks, Ryosuke Kutsuna) * Romanian translation added (Thanks, Misu Moldovan) * Jabber invisibility and permanently cancel sending on- line status to Jabber buddies. |
From: Rob F. <rob...@us...> - 2002-08-28 14:43:33
|
Update of /cvsroot/gaim/gaim/po In directory usw-pr-cvs1:/tmp/cvs-serv3349/po Added Files: ro.po Log Message: The romanians are coming! --- NEW FILE: ro.po --- # Romanian translation for gaim # Copyright (C) 2002 Free Software Foundation, Inc. # Miºu Moldovan <du...@go...>, 2002. # msgid "" msgstr "" "Project-Id-Version: gaim-0.60cvs\n" "POT-Creation-Date: 2002-08-17 22:20+0300\n" "PO-Revision-Date: 2002-08-18 00:46+0300\n" "Last-Translator: Miºu Moldovan <du...@go...>\n" "Language-Team: Romanian <gno...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: plugins/chatlist.c:67 src/buddy_chat.c:272 msgid "Buddy Chat" msgstr "Chat cu un contact" [...3433 lines suppressed...] #: src/sound.c:68 msgid "Person enters chat" msgstr "Cineva intrã în chat" #: src/sound.c:69 msgid "Person leaves chat" msgstr "Cineva iese din chat" #: src/sound.c:70 msgid "You talk in chat" msgstr "Spuneþi ceva într-un chat" #: src/sound.c:71 msgid "Others talk in chat" msgstr "Alþii spun ceva într-un chat" #: src/sound.c:74 msgid "Someone says your name in chat" msgstr "Cineva vã spune numele într-un chat" |
From: Rob F. <rob...@us...> - 2002-08-28 14:43:33
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv3349 Modified Files: configure.ac configure.in ChangeLog Log Message: The romanians are coming! Index: configure.ac =================================================================== RCS file: /cvsroot/gaim/gaim/configure.ac,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- configure.ac 25 Aug 2002 04:59:34 -0000 1.78 +++ configure.ac 28 Aug 2002 14:43:27 -0000 1.79 @@ -15,7 +15,7 @@ AC_PROG_INSTALL -ALL_LINGUAS="bg cs da de es fi fr hu it ja ko nl pl ru sk sv zh_CN zh_TW" +ALL_LINGUAS="bg cs da de es fi fr hu it ja ko nl pl ro ru sk sv zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.10.40) AM_GNU_GETTEXT Index: configure.in =================================================================== RCS file: /cvsroot/gaim/gaim/configure.in,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- configure.in 27 Aug 2002 22:03:57 -0000 1.127 +++ configure.in 28 Aug 2002 14:43:28 -0000 1.128 @@ -15,7 +15,7 @@ AC_PROG_INSTALL -ALL_LINGUAS="bg cs da de es fi fr hu it ja ko nl pl ru sk sv zh_CN zh_TW" +ALL_LINGUAS="bg cs da de es fi fr hu it ja ko nl pl ro ru sk sv zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.10.40) AM_GNU_GETTEXT Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.530 retrieving revision 1.531 diff -u -d -r1.530 -r1.531 --- ChangeLog 28 Aug 2002 08:13:57 -0000 1.530 +++ ChangeLog 28 Aug 2002 14:43:29 -0000 1.531 @@ -7,6 +7,7 @@ * Finnish translation updated (Thanks, Tero Kuusela) * Spanish translation updated (Thanks, Lars Goldschlager) * Traditional Chinese translation updated (Thanks, Paladin Liu) + * Romanian translation added (Thanks, Misu Moldovan) * Jabber invisibility and permanently cancel sending on- line status to Jabber buddies. * Support for synchronizing group renames on server. Group |
From: Sean E. <sea...@us...> - 2002-08-28 08:14:00
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv2897/src Modified Files: conversation.c core.h module.c Log Message: obobo Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.368 retrieving revision 1.369 diff -u -d -r1.368 -r1.369 --- conversation.c 28 Aug 2002 05:55:48 -0000 1.368 +++ conversation.c 28 Aug 2002 08:13:58 -0000 1.369 @@ -258,6 +258,7 @@ void delete_conversation(struct conversation *c) { + plugin_event(event_del_conversation, c, 0, 0, 0); conversations = g_list_remove(conversations, c); if (c->fg_color_dialog) gtk_widget_destroy(c->fg_color_dialog); Index: core.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/core.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- core.h 2 Aug 2002 05:19:52 -0000 1.20 +++ core.h 28 Aug 2002 08:13:58 -0000 1.21 @@ -97,6 +97,7 @@ event_im_displayed_rcvd, event_chat_send_invite, event_got_typing, + event_del_conversation, /* any others? it's easy to add... */ }; Index: module.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/module.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- module.c 25 Aug 2002 10:51:23 -0000 1.17 +++ module.c 28 Aug 2002 08:13:58 -0000 1.18 @@ -501,6 +501,7 @@ case event_signon: case event_signoff: case event_new_conversation: + case event_del_conversation: case event_error: one = g->function; one(arg1, g->data); |
From: Sean E. <sea...@us...> - 2002-08-28 08:14:00
|
Update of /cvsroot/gaim/gaim/plugins In directory usw-pr-cvs1:/tmp/cvs-serv2897/plugins Modified Files: SIGNALS Log Message: obobo Index: SIGNALS =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/SIGNALS,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- SIGNALS 28 Apr 2002 18:24:49 -0000 1.29 +++ SIGNALS 28 Aug 2002 08:13:58 -0000 1.30 @@ -28,6 +28,7 @@ event_im_displayed_rcvd, event_chat_send_invite, event_got_typing, + event_del_conversation, }; To add a signal handler, call the fuction gaim_signal_connect with the @@ -331,3 +332,12 @@ 'gc' is the connection the typing is sent to. 'who' is the person typing to you. +event_del_conversation: + struct conversation *c + + This is called when a conversation window is closed. It is + called before any memory is deallocated so you are able to + access any data related to the conversation without breaking + anything. + + 'c' is he conversation being closed. |
From: Sean E. <sea...@us...> - 2002-08-28 08:14:00
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv2897 Modified Files: ChangeLog Log Message: obobo Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.529 retrieving revision 1.530 diff -u -d -r1.529 -r1.530 --- ChangeLog 28 Aug 2002 07:24:11 -0000 1.529 +++ ChangeLog 28 Aug 2002 08:13:57 -0000 1.530 @@ -53,6 +53,7 @@ * Option to log IMs and Chats seperately. (Thanks Etan Reisner) * Nice Oscar changes--mostly internal (Thanks Mark Doliner) + * event_del_conversation for plugins (Thanks Bill Tompkins) version 0.59 (06/24/2002): * Hungarian translation added (Thanks, Sutto Zoltan) |
From: Sean E. <sea...@us...> - 2002-08-28 07:50:51
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv27340/src Modified Files: Tag: gtk1-stable gtkimhtml.c Log Message: :-)) Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.108 retrieving revision 1.108.2.1 diff -u -d -r1.108 -r1.108.2.1 --- gtkimhtml.c 15 May 2002 02:21:21 -0000 1.108 +++ gtkimhtml.c 28 Aug 2002 07:50:48 -0000 1.108.2.1 @@ -181,17 +181,14 @@ while (*x) { gchar *pos; - if (t->image) - return len; - if (!t->values) - return 0; + break; pos = strchr (t->values->str, *x); if (pos) t = t->children [(int) pos - (int) t->values->str]; else - return 0; + break; x++; len++; } |
From: Sean E. <sea...@us...> - 2002-08-28 07:50:50
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv27340 Modified Files: Tag: gtk1-stable ChangeLog Log Message: :-)) Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.509.2.13 retrieving revision 1.509.2.14 diff -u -d -r1.509.2.13 -r1.509.2.14 --- ChangeLog 28 Aug 2002 02:38:42 -0000 1.509.2.13 +++ ChangeLog 28 Aug 2002 07:50:47 -0000 1.509.2.14 @@ -8,6 +8,8 @@ * Fixed the non-manual browser settings which were broke in 0.59.1 (Thanks, Chris Blizzard) * Improved MSN internationalization (Thanks A Lee) + * Smiley lookup will search for longest match for smilies + like :-(( (Thanks Eric Melski) version 0.59.1 (08/25/2002) * Created a gtk1-stable branch for GTK+ 1.2 bugfix releases. |
From: Sean E. <sea...@us...> - 2002-08-28 07:44:49
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv25274/src Modified Files: gtkimhtml.c Log Message: Thanks, Eric Melski. This patch will make gtkimhtml no longer give up at the shortest match. Index: gtkimhtml.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkimhtml.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -d -r1.112 -r1.113 --- gtkimhtml.c 16 Aug 2002 01:25:02 -0000 1.112 +++ gtkimhtml.c 28 Aug 2002 07:44:46 -0000 1.113 @@ -181,17 +181,14 @@ while (*x) { gchar *pos; - if (t->image) - return len; - if (!t->values) - return 0; + break; pos = strchr (t->values->str, *x); if (pos) t = t->children [(int) pos - (int) t->values->str]; else - return 0; + break; x++; len++; } |
From: Sean E. <sea...@us...> - 2002-08-28 07:24:14
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv18927/src/protocols/oscar Modified Files: aim.h info.c tlv.c Log Message: DANCE! Index: aim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/aim.h,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- aim.h 28 Aug 2002 06:48:14 -0000 1.44 +++ aim.h 28 Aug 2002 07:24:12 -0000 1.45 @@ -407,12 +407,13 @@ */ typedef struct { char sn[MAXSNLEN+1]; - fu16_t warnlevel; - fu16_t idletime; + fu16_t warnlevel; /* evil percent * 10 (999 = 99.9%) */ + fu16_t idletime; /* in seconds */ fu16_t flags; - fu32_t membersince; - fu32_t onlinesince; - fu32_t sessionlen; + fu32_t createtime; /* time_t */ + fu32_t membersince; /* time_t */ + fu32_t onlinesince; /* time_t */ + fu32_t sessionlen; /* in seconds */ fu32_t capabilities; struct { fu32_t status; @@ -431,11 +432,13 @@ #define AIM_USERINFO_PRESENT_ICQDATA 0x00000040 #define AIM_USERINFO_PRESENT_CAPABILITIES 0x00000080 #define AIM_USERINFO_PRESENT_SESSIONLEN 0x00000100 +#define AIM_USERINFO_PRESENT_CREATETIME 0x00000200 faim_export const char *aim_userinfo_sn(aim_userinfo_t *ui); faim_export fu16_t aim_userinfo_flags(aim_userinfo_t *ui); faim_export fu16_t aim_userinfo_idle(aim_userinfo_t *ui); faim_export float aim_userinfo_warnlevel(aim_userinfo_t *ui); +faim_export time_t aim_userinfo_createtime(aim_userinfo_t *ui); faim_export time_t aim_userinfo_membersince(aim_userinfo_t *ui); faim_export time_t aim_userinfo_onlinesince(aim_userinfo_t *ui); faim_export fu32_t aim_userinfo_sessionlen(aim_userinfo_t *ui); Index: info.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/info.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- info.c 5 May 2002 19:07:05 -0000 1.15 +++ info.c 28 Aug 2002 07:24:12 -0000 1.16 @@ -76,6 +76,15 @@ return (ui->warnlevel / 10); } +faim_export time_t aim_userinfo_createtime(aim_userinfo_t *ui) +{ + + if (!ui) + return 0; + + return (time_t)ui->createtime; +} + faim_export time_t aim_userinfo_membersince(aim_userinfo_t *ui) { @@ -278,6 +287,30 @@ return 0; } +static void dumptlv(aim_session_t *sess, fu16_t type, aim_bstream_t *bs, fu8_t len) +{ + int i; + + if (!sess || !bs || !len) + return; + + faimdprintf(sess, 0, "userinfo: type =0x%04x\n", type); + faimdprintf(sess, 0, "userinfo: length=0x%04x\n", len); + + faimdprintf(sess, 0, "userinfo: value:\n"); + + for (i = 0; i < len; i++) { + if ((i % 8) == 0) + faimdprintf(sess, 0, "\nuserinfo: "); + + faimdprintf(sess, 0, "0x%2x ", aimbs_get8(bs)); + } + + faimdprintf(sess, 0, "\n"); + + return; +} + /* * AIM is fairly regular about providing user info. This is a generic * routine to extract it in its standard form. @@ -342,13 +375,20 @@ } else if (type == 0x0002) { /* - * Type = 0x0002: Member-Since date. + * Type = 0x0002: Account creation time. * * The time/date that the user originally registered for * the service, stored in time_t format. + * + * I'm not sure how this differs from type 5 ("member + * since"). + * + * Note: This is the field formerly known as "member + * since". All these years and I finally found out + * that I got the name wrong. */ - outinfo->membersince = aimbs_get32(bs); - outinfo->present |= AIM_USERINFO_PRESENT_MEMBERSINCE; + outinfo->createtime = aimbs_get32(bs); + outinfo->present |= AIM_USERINFO_PRESENT_CREATETIME; } else if (type == 0x0003) { /* @@ -373,6 +413,18 @@ */ outinfo->idletime = aimbs_get16(bs); outinfo->present |= AIM_USERINFO_PRESENT_IDLE; + } else if (type == 0x0005) { + /* + * Type = 0x0005: Member since date. + * + * The time/date that the user originally registered for + * the service, stored in time_t format. + * + * This is sometimes sent instead of type 2 ("account + * creation time"), particularly in the self-info. + */ + outinfo->membersince = aimbs_get32(bs); + outinfo->present |= AIM_USERINFO_PRESENT_MEMBERSINCE; } else if (type == 0x0006) { /* @@ -442,6 +494,19 @@ outinfo->sessionlen = aimbs_get32(bs); outinfo->present |= AIM_USERINFO_PRESENT_SESSIONLEN; + } else if (type == 0x001d) { + /* + * Type 29: Unknown. + * + * Currently very rare. Always 18 bytes of mostly zero. + */ + + } else if (type == 0x001e) { + /* + * Type 30: Unknown. + * + * Always four bytes, but it doesn't look like an int. + */ } else { /* @@ -455,9 +520,7 @@ */ faimdprintf(sess, 0, "userinfo: **warning: unexpected TLV:\n"); faimdprintf(sess, 0, "userinfo: sn =%s\n", outinfo->sn); - faimdprintf(sess, 0, "userinfo: type =0x%04x\n",type); - faimdprintf(sess, 0, "userinfo: length=0x%04x\n", length); - + dumptlv(sess, type, bs, length); } /* Save ourselves. */ @@ -483,21 +546,29 @@ aimbs_put16(bs, info->warnlevel); - aim_addtlvtochain16(&tlvlist, 0x0001, info->flags); - aim_addtlvtochain32(&tlvlist, 0x0002, info->membersince); - aim_addtlvtochain32(&tlvlist, 0x0003, info->onlinesince); - aim_addtlvtochain16(&tlvlist, 0x0004, info->idletime); + if (info->present & AIM_USERINFO_PRESENT_FLAGS) + aim_addtlvtochain16(&tlvlist, 0x0001, info->flags); + if (info->present & AIM_USERINFO_PRESENT_MEMBERSINCE) + aim_addtlvtochain32(&tlvlist, 0x0002, info->membersince); + if (info->present & AIM_USERINFO_PRESENT_ONLINESINCE) + aim_addtlvtochain32(&tlvlist, 0x0003, info->onlinesince); + if (info->present & AIM_USERINFO_PRESENT_IDLE) + aim_addtlvtochain16(&tlvlist, 0x0004, info->idletime); #if ICQ_OSCAR_SUPPORT if (atoi(info->sn) != 0) { - aim_addtlvtochain16(&tlvlist, 0x0006, info->icqinfo.status); - aim_addtlvtochain32(&tlvlist, 0x000a, info->icqinfo.ipaddr); + if (info->present & AIM_USERINFO_PRESENT_ICQEXTSTATUS) + aim_addtlvtochain16(&tlvlist, 0x0006, info->icqinfo.status); + if (info->present & AIM_USERINFO_PRESENT_ICQIPADDR) + aim_addtlvtochain32(&tlvlist, 0x000a, info->icqinfo.ipaddr); } #endif - aim_addtlvtochain_caps(&tlvlist, 0x000d, info->capabilities); - - aim_addtlvtochain32(&tlvlist, (fu16_t)((info->flags & AIM_FLAG_AOL) ? 0x0010 : 0x000f), info->sessionlen); + if (info->present & AIM_USERINFO_PRESENT_CAPABILITIES) + aim_addtlvtochain_caps(&tlvlist, 0x000d, info->capabilities); + + if (info->present & AIM_USERINFO_PRESENT_SESSIONLEN) + aim_addtlvtochain32(&tlvlist, (fu16_t)((info->flags & AIM_FLAG_AOL) ? 0x0010 : 0x000f), info->sessionlen); aimbs_put16(bs, aim_counttlvchain(&tlvlist)); aim_writetlvchain(bs, &tlvlist); Index: tlv.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/tlv.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- tlv.c 10 Dec 2001 00:48:27 -0000 1.6 +++ tlv.c 28 Aug 2002 07:24:12 -0000 1.7 @@ -46,9 +46,9 @@ faim_internal aim_tlvlist_t *aim_readtlvchain(aim_bstream_t *bs) { aim_tlvlist_t *list = NULL, *cur; - fu16_t type, length; - - while (aim_bstream_empty(bs)) { + + while (aim_bstream_empty(bs) > 0) { + fu16_t type, length; type = aimbs_get16(bs); length = aimbs_get16(bs); @@ -70,13 +70,35 @@ #endif else { + if (length > aim_bstream_empty(bs)) { + aim_freetlvchain(&list); + return NULL; + } + cur = (aim_tlvlist_t *)malloc(sizeof(aim_tlvlist_t)); + if (!cur) { + aim_freetlvchain(&list); + return NULL; + } + memset(cur, 0, sizeof(aim_tlvlist_t)); - cur->tlv = createtlv(); + cur->tlv = createtlv(); + if (!cur->tlv) { + free(cur); + aim_freetlvchain(&list); + return NULL; + } cur->tlv->type = type; - if ((cur->tlv->length = length)) + if ((cur->tlv->length = length)) { cur->tlv->value = aimbs_getraw(bs, length); + if (!cur->tlv->value) { + freetlv(&cur->tlv); + free(cur); + aim_freetlvchain(&list); + return NULL; + } + } cur->next = list; list = cur; |
From: Sean E. <sea...@us...> - 2002-08-28 07:24:14
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv18927 Modified Files: ChangeLog Log Message: DANCE! Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.528 retrieving revision 1.529 diff -u -d -r1.528 -r1.529 --- ChangeLog 28 Aug 2002 05:55:48 -0000 1.528 +++ ChangeLog 28 Aug 2002 07:24:11 -0000 1.529 @@ -52,6 +52,7 @@ Buddies" tab (Thanks click81) * Option to log IMs and Chats seperately. (Thanks Etan Reisner) + * Nice Oscar changes--mostly internal (Thanks Mark Doliner) version 0.59 (06/24/2002): * Hungarian translation added (Thanks, Sutto Zoltan) |
From: Sean E. <sea...@us...> - 2002-08-28 06:48:19
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv32256/src/protocols/oscar Modified Files: aim.h auth.c oscar.c Log Message: From KingAnt: aim.h: -Change the #defines for AIM client info so they're shorter. -Add 2 #defines for ICQ--the first one (the default) is what Gaim has been using, it was taken out of auth.c. The other is what an ICQ 2002a client uses. -Add an CLIENTINFO_ICQ_KNOWNGOOD auth.c: -Have the ICQ login use the given client info, rather than using hard coded values. oscar.c: -Rename "gaim_caps" to "caps_aim" and added a "caps_icq," so AIM and ICQ can have different capabilities. -Make changes to gaim_parse_login so the ICQ sends ICQ client info, and AIM sends AIM client info. -Make changes to conninitdone_bos so only ICQ sets the privacy flag and visibility mask. AIM sets this via SSI. -Change a few calls to aim_bos_setprofile so ICQ does not send a profile TLV, and so ICQ uses the ICQ caps and AIM uses the AIM caps. -Change a call to g_show_info_text so a pointer to the window is not left haning around? -Correctly set the occupied and do not disturb ICQ states. This is how winicq does it. -Correctly show winicq users as NA. Index: aim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/aim.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- aim.h 7 Jul 2002 14:31:57 -0000 1.43 +++ aim.h 28 Aug 2002 06:48:14 -0000 1.44 @@ -146,7 +146,7 @@ const char *lang; /* two-letter abbrev */ }; -#define AIM_CLIENTINFO_KNOWNGOOD_3_5_1670 { \ +#define CLIENTINFO_AIM_3_5_1670 { \ "AOL Instant Messenger (SM), version 3.5.1670/WIN32", \ 0x0004, \ 0x0003, \ @@ -157,7 +157,7 @@ "en", \ } -#define AIM_CLIENTINFO_KNOWNGOOD_4_1_2010 { \ +#define CLIENTINFO_AIM_4_1_2010 { \ "AOL Instant Messenger (SM), version 4.1.2010/WIN32", \ 0x0004, \ 0x0004, \ @@ -168,15 +168,38 @@ "en", \ } +#define CLIENTINFO_ICQ_4_65_3281 { \ + "ICQ Inc. - Product of ICQ (TM) 2000b.4.65.1.3281.85", \ + 0x010a, \ + 0x0004, \ + 0x0041, \ + 0x0001, \ + 0x0cd1, \ + "us", \ + "en", \ +} + +#define CLIENTINFO_ICQ_5_34_3728 { \ + "ICQ Inc. - Product of ICQ (TM).2002a.5.34.1.3728.85", \ + 0x010a, \ + 0x0005, \ + 0x0022, \ + 0x0001, \ + 0x0e8f, \ + "us", \ + "en", \ +} + /* * I would make 4.1.2010 the default, but they seem to have found * an alternate way of breaking that one. * * 3.5.1670 should work fine, however, you will be subjected to the - * memory test, which may require you to have a WinAIM binary laying + * memory test, which may require you to have a WinAIM binary lying * around. (see login.c::memrequest()) */ -#define AIM_CLIENTINFO_KNOWNGOOD AIM_CLIENTINFO_KNOWNGOOD_3_5_1670 +#define CLIENTINFO_AIM_KNOWNGOOD CLIENTINFO_AIM_3_5_1670 +#define CLIENTINFO_ICQ_KNOWNGOOD CLIENTINFO_ICQ_4_65_3281 #ifndef TRUE #define TRUE 1 Index: auth.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/auth.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- auth.c 5 May 2002 19:07:05 -0000 1.7 +++ auth.c 28 Aug 2002 06:48:14 -0000 1.8 @@ -147,13 +147,10 @@ } /* - * Part two of the ICQ hack. Note the ignoring of the key and clientinfo. + * Part two of the ICQ hack. Note the ignoring of the key. */ -static int goddamnicq2(aim_session_t *sess, aim_conn_t *conn, const char *sn, const char *password) +static int goddamnicq2(aim_session_t *sess, aim_conn_t *conn, const char *sn, const char *password, struct client_info_s *ci) { - static const char clientstr[] = {"ICQ Inc. - Product of ICQ (TM) 2000b.4.65.1.3281.85"}; - static const char lang[] = {"en"}; - static const char country[] = {"us"}; aim_frame_t *fr; aim_tlvlist_t *tl = NULL; char *password_encoded; @@ -168,18 +165,20 @@ aim_encode_password(password, password_encoded); - aimbs_put32(&fr->data, 0x00000001); + aimbs_put32(&fr->data, 0x00000001); /* FLAP Version */ aim_addtlvtochain_raw(&tl, 0x0001, strlen(sn), sn); aim_addtlvtochain_raw(&tl, 0x0002, strlen(password), password_encoded); - aim_addtlvtochain_raw(&tl, 0x0003, strlen(clientstr), clientstr); - aim_addtlvtochain16(&tl, 0x0016, 0x010a); /* cliend ID */ - aim_addtlvtochain16(&tl, 0x0017, 0x0004); /* major version */ - aim_addtlvtochain16(&tl, 0x0018, 0x0041); /* minor version */ - aim_addtlvtochain16(&tl, 0x0019, 0x0001); /* point version */ - aim_addtlvtochain16(&tl, 0x001a, 0x0cd1); /* build */ + + if (ci->clientstring) + aim_addtlvtochain_raw(&tl, 0x0003, strlen(ci->clientstring), ci->clientstring); + aim_addtlvtochain16(&tl, 0x0016, (fu16_t)ci->clientid); + aim_addtlvtochain16(&tl, 0x0017, (fu16_t)ci->major); + aim_addtlvtochain16(&tl, 0x0018, (fu16_t)ci->minor); + aim_addtlvtochain16(&tl, 0x0019, (fu16_t)ci->point); + aim_addtlvtochain16(&tl, 0x001a, (fu16_t)ci->build); aim_addtlvtochain32(&tl, 0x0014, 0x00000055); /* distribution chan */ - aim_addtlvtochain_raw(&tl, 0x000f, strlen(lang), lang); - aim_addtlvtochain_raw(&tl, 0x000e, strlen(country), country); + aim_addtlvtochain_raw(&tl, 0x000f, strlen(ci->lang), ci->lang); + aim_addtlvtochain_raw(&tl, 0x000e, strlen(ci->country), ci->country); aim_writetlvchain(&fr->data, &tl); @@ -276,7 +275,7 @@ * */ if (sess->flags & AIM_SESS_FLAGS_XORLOGIN) - return goddamnicq2(sess, conn, sn, password); + return goddamnicq2(sess, conn, sn, password, ci); if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 1152))) Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.145 retrieving revision 1.146 diff -u -d -r1.145 -r1.146 --- oscar.c 28 Aug 2002 02:38:19 -0000 1.145 +++ oscar.c 28 Aug 2002 06:48:14 -0000 1.146 @@ -73,9 +73,14 @@ #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" -static int gaim_caps = AIM_CAPS_CHAT | - AIM_CAPS_BUDDYICON | - AIM_CAPS_IMIMAGE; +static int caps_aim = AIM_CAPS_CHAT | AIM_CAPS_BUDDYICON | AIM_CAPS_IMIMAGE; +/* What does AIM_CAPS_ICQ actually mean? -SE */ +/* static int caps_icq = AIM_CAPS_ICQ; */ + +/* Set AIM caps, because Gaim can still do them over ICQ and + * Winicq doesn't mind. */ +static int caps_icq = AIM_CAPS_CHAT | AIM_CAPS_BUDDYICON | AIM_CAPS_IMIMAGE; + static fu8_t gaim_features[] = {0x01, 0x01, 0x01, 0x02}; struct oscar_data { @@ -883,20 +888,25 @@ } static int gaim_parse_login(aim_session_t *sess, aim_frame_t *fr, ...) { -#if 0 - struct client_info_s info = {"gaim", 4, 1, 2010, "us", "en", 0x0004, 0x0000, 0x04b}; -#else - struct client_info_s info = AIM_CLIENTINFO_KNOWNGOOD; -#endif char *key; va_list ap; struct gaim_connection *gc = sess->aux_data; + struct oscar_data *odata = gc->proto_data; va_start(ap, fr); key = va_arg(ap, char *); va_end(ap); - aim_send_login(sess, fr->conn, gc->username, gc->password, &info, key); + if (odata->icq) { + struct client_info_s info = CLIENTINFO_ICQ_KNOWNGOOD; + aim_send_login(sess, fr->conn, gc->username, gc->password, &info, key); + } else { +#if 0 + struct client_info_s info = {"gaim", 4, 1, 2010, "us", "en", 0x0004, 0x0000, 0x04b}; +#endif + struct client_info_s info = CLIENTINFO_AIM_KNOWNGOOD; + aim_send_login(sess, fr->conn, gc->username, gc->password, &info, key); + } return 1; } @@ -2320,6 +2330,8 @@ } static int conninitdone_bos(aim_session_t *sess, aim_frame_t *fr, ...) { + struct gaim_connection *gc = sess->aux_data; + struct oscar_data *od = gc->proto_data; aim_reqpersonalinfo(sess, fr->conn); aim_bos_reqlocaterights(sess, fr->conn); @@ -2328,9 +2340,11 @@ aim_reqicbmparams(sess); aim_bos_reqrights(sess, fr->conn); - aim_bos_setgroupperm(sess, fr->conn, AIM_FLAG_ALLUSERS); - aim_bos_setprivacyflags(sess, fr->conn, AIM_PRIVFLAGS_ALLOWIDLE | - AIM_PRIVFLAGS_ALLOWMEMBERSINCE); + if (od->icq) { + aim_bos_setgroupperm(sess, fr->conn, AIM_FLAG_ALLUSERS); + aim_bos_setprivacyflags(sess, fr->conn, AIM_PRIVFLAGS_ALLOWIDLE | + AIM_PRIVFLAGS_ALLOWMEMBERSINCE); + } return 1; } @@ -2418,7 +2432,10 @@ odata->rights.maxsiglen = odata->rights.maxawaymsglen = (guint)maxsiglen; - aim_bos_setprofile(sess, fr->conn, gc->user->user_info, NULL, gaim_caps); + if (odata->icq) + aim_bos_setprofile(sess, fr->conn, NULL, NULL, caps_icq); + else + aim_bos_setprofile(sess, fr->conn, gc->user->user_info, NULL, caps_aim); return 1; } @@ -2720,6 +2737,7 @@ struct oscar_data *odata = (struct oscar_data *)gc->proto_data; struct direct_im *dim = find_direct_im(odata, name); int ret = 0; + if (dim) { if (dim->connected) { /* If we're not connected yet, send through server */ ret = aim_send_im_direct(odata->sess, dim->conn, message, len == -1 ? strlen(message) : len); @@ -2860,7 +2878,10 @@ inforeal = g_strndup(info, odata->rights.maxsiglen); - aim_bos_setprofile(odata->sess, odata->conn, inforeal, NULL, gaim_caps); + if (odata->icq) + aim_bos_setprofile(odata->sess, odata->conn, NULL, NULL, caps_icq); + else + aim_bos_setprofile(odata->sess, odata->conn, inforeal, NULL, caps_aim); g_free(inforeal); @@ -2880,7 +2901,7 @@ gc->away = NULL; if (!message) { - aim_bos_setprofile(od->sess, od->conn, NULL, "", gaim_caps); + aim_bos_setprofile(od->sess, od->conn, NULL, "", caps_aim); return; } @@ -2894,7 +2915,7 @@ } gc->away = g_strndup(message, od->rights.maxawaymsglen); - aim_bos_setprofile(od->sess, od->conn, NULL, gc->away, gaim_caps); + aim_bos_setprofile(od->sess, od->conn, NULL, gc->away, caps_aim); return; } @@ -2930,7 +2951,6 @@ aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY); gc->away = ""; } else { - aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL); } } |
From: Sean E. <sea...@us...> - 2002-08-28 06:48:18
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv32256/src Modified Files: multi.c Log Message: From KingAnt: aim.h: -Change the #defines for AIM client info so they're shorter. -Add 2 #defines for ICQ--the first one (the default) is what Gaim has been using, it was taken out of auth.c. The other is what an ICQ 2002a client uses. -Add an CLIENTINFO_ICQ_KNOWNGOOD auth.c: -Have the ICQ login use the given client info, rather than using hard coded values. oscar.c: -Rename "gaim_caps" to "caps_aim" and added a "caps_icq," so AIM and ICQ can have different capabilities. -Make changes to gaim_parse_login so the ICQ sends ICQ client info, and AIM sends AIM client info. -Make changes to conninitdone_bos so only ICQ sets the privacy flag and visibility mask. AIM sets this via SSI. -Change a few calls to aim_bos_setprofile so ICQ does not send a profile TLV, and so ICQ uses the ICQ caps and AIM uses the AIM caps. -Change a call to g_show_info_text so a pointer to the window is not left haning around? -Correctly set the occupied and do not disturb ICQ states. This is how winicq does it. -Correctly show winicq users as NA. Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.123 retrieving revision 1.124 diff -u -d -r1.123 -r1.124 --- multi.c 25 Aug 2002 10:51:23 -0000 1.123 +++ multi.c 28 Aug 2002 06:48:14 -0000 1.124 @@ -1229,6 +1229,16 @@ } } +/* + * d:)->-< + * + * d:O-\-< + * + * d:D-/-< + * + * d8D->-< DANCE! + */ + static void cancel_signon(GtkWidget *button, struct signon_meter *meter) { meter->gc->wants_to_die = TRUE; |
From: Sean E. <sea...@us...> - 2002-08-28 05:55:51
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv9976/src Modified Files: conversation.c gaim.h gaimrc.c prefs.c server.c util.c Log Message: Deryni made it so we can all log chats and IMs seperately. He had it retain your old option--it would log both if you had it configured that way. I made it so that if you had logging on it will log IMs--but you'll have to turn on logging chats manually. So if you want to log chats, turn that on. Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.367 retrieving revision 1.368 diff -u -d -r1.367 -r1.368 --- conversation.c 27 Aug 2002 16:41:30 -0000 1.367 +++ conversation.c 28 Aug 2002 05:55:48 -0000 1.368 @@ -168,10 +168,10 @@ c = (struct conversation *)g_new0(struct conversation, 1); g_snprintf(c->name, sizeof(c->name), "%s", name); - if ((logging_options & OPT_LOG_ALL) || find_log_info(c->name)) { + if ((logging_options & OPT_LOG_CONVOS) || find_log_info(c->name)) { FILE *fd; - fd = open_log_file(c->name); + fd = open_log_file(c->name, c->is_chat); if (fd) { if (!(logging_options & OPT_LOG_STRIP_HTML)) fprintf(fd, @@ -299,9 +299,14 @@ while (cnv) { c = (struct conversation *)cnv->data; - if (c->log_button) - gtk_widget_set_sensitive(c->log_button, - ((logging_options & OPT_LOG_ALL)) ? FALSE : TRUE); + if (c->log_button) { + if (c->is_chat) + gtk_widget_set_sensitive(c->log_button, + ((logging_options & OPT_LOG_CHATS)) ? FALSE : TRUE); + else + gtk_widget_set_sensitive(c->log_button, + ((logging_options & OPT_LOG_CONVOS)) ? FALSE : TRUE); + } cnv = cnv->next; } @@ -312,10 +317,16 @@ while (bcs) { c = (struct conversation *)bcs->data; - if (c->log_button) - gtk_widget_set_sensitive(c->log_button, - ((logging_options & OPT_LOG_ALL)) ? FALSE : - TRUE); + if (c->log_button) { + if (c->is_chat) + gtk_widget_set_sensitive(c->log_button, + ((logging_options & OPT_LOG_CHATS)) ? FALSE : + TRUE); + else + gtk_widget_set_sensitive(c->log_button, + ((logging_options & OPT_LOG_CONVOS)) ? FALSE : + TRUE); + } bcs = bcs->next; } @@ -1871,7 +1882,9 @@ c->history = g_string_append(c->history, "<BR>\n"); } - if (!(flags & WFLAG_NOLOG) && ((logging_options & OPT_LOG_ALL) || find_log_info(c->name))) { + if (!(flags & WFLAG_NOLOG) && ((c->is_chat && (logging_options & OPT_LOG_CHATS)) + || (!c->is_chat && (logging_options & OPT_LOG_CONVOS)) + || find_log_info(c->name))) { char *t1; char nm[256]; @@ -1884,7 +1897,7 @@ g_snprintf(nm, 256, "%s.chat", c->name); else g_snprintf(nm, 256, "%s", c->name); - fd = open_log_file(nm); + fd = open_log_file(nm, c->is_chat); if (fd) { if (logging_options & OPT_LOG_STRIP_HTML) { fprintf(fd, "%s\n", t1); @@ -1991,7 +2004,8 @@ } /* XXX this needs to be updated for the new length argument */ - if ((logging_options & OPT_LOG_ALL) || find_log_info(c->name)) { + if ((c->is_chat && (logging_options & OPT_LOG_CHATS)) + || (!c->is_chat && (logging_options & OPT_LOG_CONVOS)) || find_log_info(c->name)) { char *t1, *t2; char *nm = g_malloc(256); if (c->is_chat) @@ -2006,7 +2020,7 @@ t1 = html_logize(buf); t2 = html_logize(what); } - fd = open_log_file(nm); + fd = open_log_file(nm, c->is_chat); if (fd) { if (logging_options & OPT_LOG_STRIP_HTML) { fprintf(fd, "%s%s\n", t1, t2); @@ -2350,7 +2364,10 @@ c->speaker = speaker; c->speaker_p = speaker_p; - gtk_widget_set_sensitive(c->log_button, ((logging_options & OPT_LOG_ALL)) ? FALSE : TRUE); + if (c->is_chat) + gtk_widget_set_sensitive(c->log_button, ((logging_options & OPT_LOG_CHATS)) ? FALSE : TRUE); + else + gtk_widget_set_sensitive(c->log_button, ((logging_options & OPT_LOG_CONVOS)) ? FALSE : TRUE); gtk_widget_set_sensitive(c->bold, ((font_options & OPT_FONT_BOLD)) ? FALSE : TRUE); gtk_widget_set_sensitive(c->italic, ((font_options & OPT_FONT_ITALIC)) ? FALSE : TRUE); gtk_widget_set_sensitive(c->underline, ((font_options & OPT_FONT_UNDERLINE)) ? FALSE : TRUE); @@ -3248,7 +3265,8 @@ gtk_notebook_set_tab_label_text(nb, gtk_notebook_get_nth_page(nb, index), text); } else { char buf[256]; - if ((find_log_info(c->name)) || (logging_options & OPT_LOG_ALL)) + if ((find_log_info(c->name)) || (c->is_chat && (logging_options & OPT_LOG_CHATS)) + || (!c->is_chat && (logging_options & OPT_LOG_CONVOS))) g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, text); else g_snprintf(buf, sizeof(buf), CONVERSATION_TITLE, text); Index: gaim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaim.h,v retrieving revision 1.331 retrieving revision 1.332 diff -u -d -r1.331 -r1.332 --- gaim.h 25 Aug 2002 10:51:23 -0000 1.331 +++ gaim.h 28 Aug 2002 05:55:48 -0000 1.332 @@ -184,13 +184,14 @@ #define OPT_MISC_STEALTH_TYPING 0x00000010 extern guint logging_options; -#define OPT_LOG_ALL 0x00000001 +#define OPT_LOG_CONVOS 0x00000001 #define OPT_LOG_STRIP_HTML 0x00000002 #define OPT_LOG_BUDDY_SIGNON 0x00000004 #define OPT_LOG_BUDDY_IDLE 0x00000008 #define OPT_LOG_BUDDY_AWAY 0x00000010 #define OPT_LOG_MY_SIGNON 0x00000020 #define OPT_LOG_INDIVIDUAL 0x00000040 +#define OPT_LOG_CHATS 0x00000100 extern guint blist_options; #define OPT_BLIST_APP_BUDDY_SHOW 0x00000001 @@ -413,7 +414,7 @@ extern void clean_pid(); extern char *date(); extern gint linkify_text(char *); -extern FILE *open_log_file (char *); +extern FILE *open_log_file (char *, int); extern char *sec_to_text(guint); extern struct aim_user *find_user(const char *, int); extern char *full_date(); Index: gaimrc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaimrc.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- gaimrc.c 26 Aug 2002 02:33:38 -0000 1.103 +++ gaimrc.c 28 Aug 2002 05:55:48 -0000 1.104 @@ -811,7 +811,7 @@ if (!read_logging) { logging_options = 0; if (general_options & OPT_GEN_LOG_ALL) - logging_options |= OPT_LOG_ALL; + logging_options |= OPT_LOG_CONVOS | OPT_LOG_CHATS; if (general_options & OPT_GEN_STRIP_HTML) logging_options |= OPT_LOG_STRIP_HTML; } Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.241 retrieving revision 1.242 diff -u -d -r1.241 -r1.242 --- prefs.c 25 Aug 2002 23:36:26 -0000 1.241 +++ prefs.c 28 Aug 2002 05:55:48 -0000 1.242 @@ -708,7 +708,8 @@ gtk_container_set_border_width (GTK_CONTAINER (ret), 12); vbox = make_frame (ret, _("Message Logs")); - gaim_button(_("_Log all conversations"), &logging_options_new, OPT_LOG_ALL, vbox); + gaim_button(_("_Log all Instant Messages"), &logging_options_new, OPT_LOG_CONVOS, vbox); + gaim_button(_("Log all c_hats"), &logging_options_new, OPT_LOG_CHATS, vbox); gaim_button(_("Strip _HTML from logs"), &logging_options_new, OPT_LOG_STRIP_HTML, vbox); vbox = make_frame (ret, _("System Logs")); @@ -1615,7 +1616,7 @@ int option = logging_options ^ logging_options_new; logging_options = logging_options_new; - if (option & OPT_LOG_ALL) + if (option & OPT_LOG_CONVOS || option & OPT_LOG_CHATS) update_log_convs(); } Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.230 retrieving revision 1.231 diff -u -d -r1.230 -r1.231 --- server.c 28 Aug 2002 02:38:18 -0000 1.230 +++ server.c 28 Aug 2002 05:55:48 -0000 1.231 @@ -937,14 +937,14 @@ b->history = g_string_new(""); g_snprintf(b->name, 80, "%s", name); - if ((logging_options & OPT_LOG_ALL) || find_log_info(b->name)) { + if ((logging_options & OPT_LOG_CHATS) || find_log_info(b->name)) { FILE *fd; char *filename; filename = (char *)malloc(100); g_snprintf(filename, 100, "%s.chat", b->name); - fd = open_log_file(filename); + fd = open_log_file(filename, b->is_chat); if (fd) { if (!(logging_options & OPT_LOG_STRIP_HTML)) fprintf(fd, Index: util.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/util.c,v retrieving revision 1.128 retrieving revision 1.129 diff -u -d -r1.128 -r1.129 --- util.c 25 Aug 2002 10:51:23 -0000 1.128 +++ util.c 28 Aug 2002 05:55:48 -0000 1.129 @@ -400,7 +400,7 @@ return fd; } -FILE *open_log_file(char *name) +FILE *open_log_file(char *name, int is_chat) { struct stat st; char realname[256]; @@ -408,7 +408,9 @@ FILE *fd; int flag = 0; - if (!(logging_options & OPT_LOG_ALL)) { + if (((is_chat == 2) && !(logging_options & OPT_LOG_INDIVIDUAL)) + || ((is_chat == 1) && !(logging_options & OPT_LOG_CHATS)) + || ((is_chat == 0) && !(logging_options & OPT_LOG_CONVOS))) { l = find_log_info(name); if (!l) @@ -453,7 +455,7 @@ int x; if (name) - return open_log_file(name); + return open_log_file(name, 2); else return open_gaim_log_file("system", &x); } |
From: Sean E. <sea...@us...> - 2002-08-28 05:55:51
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv9976 Modified Files: ChangeLog Log Message: Deryni made it so we can all log chats and IMs seperately. He had it retain your old option--it would log both if you had it configured that way. I made it so that if you had logging on it will log IMs--but you'll have to turn on logging chats manually. So if you want to log chats, turn that on. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.527 retrieving revision 1.528 diff -u -d -r1.527 -r1.528 --- ChangeLog 28 Aug 2002 02:38:18 -0000 1.527 +++ ChangeLog 28 Aug 2002 05:55:48 -0000 1.528 @@ -50,6 +50,8 @@ * Improved MSN internationalization (Thanks A Lee) * Can get info for ICQ and Jabber users from the "Edit Buddies" tab (Thanks click81) + * Option to log IMs and Chats seperately. (Thanks Etan + Reisner) version 0.59 (06/24/2002): * Hungarian translation added (Thanks, Sutto Zoltan) |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:44
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv10702/src/protocols/msn Modified Files: Tag: gtk1-stable msn.c Log Message: i18n fix. Index: msn.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/msn.c,v retrieving revision 1.87.2.1 retrieving revision 1.87.2.2 diff -u -d -r1.87.2.1 -r1.87.2.2 --- msn.c 26 Aug 2002 05:13:54 -0000 1.87.2.1 +++ msn.c 28 Aug 2002 02:38:42 -0000 1.87.2.2 @@ -840,8 +840,8 @@ char buf[MSN_BUF_LEN]; char *srvfriend; - srvfriend = str_to_utf8(url_encode(map->friend)); - g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, map->user, srvfriend); + srvfriend = str_to_utf8(map->friend); + g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, map->user, url_encode(srvfriend)); g_free(srvfriend); if (msn_write(md->fd, buf, strlen(buf)) < 0) { @@ -859,10 +859,10 @@ { struct msn_data *md = map->gc->proto_data; char buf[MSN_BUF_LEN]; - char *srvfriend = str_to_utf8(url_encode(map->friend)); + char *srvfriend = str_to_utf8(map->friend); if (*(map->user)) { - g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, map->user, srvfriend); + g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, map->user, url_encode(srvfriend)); if (msn_write(md->fd, buf, strlen(buf)) < 0) { hide_login_progress(map->gc, "Write error"); signoff(map->gc); @@ -1187,7 +1187,9 @@ GET_NEXT(tmp); GET_NEXT(tmp); GET_NEXT(tmp); - friend = utf8_to_str(tmp); + + friend = url_decode(tmp); + friend = utf8_to_str(friend); g_snprintf(gc->displayname, sizeof(gc->displayname), "%s", friend); g_free(friend); @@ -2111,14 +2113,14 @@ if (!entry || *entry == 0) alias = g_strdup(""); else - alias = str_to_utf8(url_encode(entry)); + alias = str_to_utf8(entry); if (strlen(alias) >= BUDDY_ALIAS_MAXLEN) { do_error_dialog(_("Friendly name too long."), _("MSN Error")); return; } - g_snprintf(buf, sizeof(buf), "REA %d %s %s\r\n", ++md->trId, gc->username, alias); + g_snprintf(buf, sizeof(buf), "REA %d %s %s\r\n", ++md->trId, gc->username, url_encode(alias)); g_free(alias); if (msn_write(md->fd, buf, strlen(buf)) < 0) { hide_login_progress(gc, "Write error"); |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:44
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv10702 Modified Files: Tag: gtk1-stable ChangeLog Log Message: i18n fix. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.509.2.12 retrieving revision 1.509.2.13 diff -u -d -r1.509.2.12 -r1.509.2.13 --- ChangeLog 27 Aug 2002 23:10:13 -0000 1.509.2.12 +++ ChangeLog 28 Aug 2002 02:38:42 -0000 1.509.2.13 @@ -7,6 +7,7 @@ fix in 0.59.1 * Fixed the non-manual browser settings which were broke in 0.59.1 (Thanks, Chris Blizzard) + * Improved MSN internationalization (Thanks A Lee) version 0.59.1 (08/25/2002) * Created a gtk1-stable branch for GTK+ 1.2 bugfix releases. |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:22
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv10106/src/protocols/msn Modified Files: msn.c Log Message: A few patches. Brian--tell me what your last name is, and I'll put it in. ;) Index: msn.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/msn.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -d -r1.92 -r1.93 --- msn.c 26 Aug 2002 05:18:31 -0000 1.92 +++ msn.c 28 Aug 2002 02:38:19 -0000 1.93 @@ -844,8 +844,8 @@ char buf[MSN_BUF_LEN]; char *srvfriend; - srvfriend = str_to_utf8(url_encode(map->friend)); - g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, map->user, srvfriend); + srvfriend = str_to_utf8(map->friend); + g_snprintf(buf, sizeof(buf), "ADD %d AL %s %s\r\n", ++md->trId, map->user, url_encode(srvfriend)); g_free(srvfriend); if (msn_write(md->fd, buf, strlen(buf)) < 0) { @@ -863,10 +863,10 @@ { struct msn_data *md = map->gc->proto_data; char buf[MSN_BUF_LEN]; - char *srvfriend = str_to_utf8(url_encode(map->friend)); + char *srvfriend = str_to_utf8(map->friend); if (*(map->user)) { - g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, map->user, srvfriend); + g_snprintf(buf, sizeof(buf), "ADD %d BL %s %s\r\n", ++md->trId, map->user, url_encode(srvfriend)); if (msn_write(md->fd, buf, strlen(buf)) < 0) { hide_login_progress(map->gc, "Write error"); signoff(map->gc); @@ -1191,7 +1191,9 @@ GET_NEXT(tmp); GET_NEXT(tmp); GET_NEXT(tmp); - friend = utf8_to_str(tmp); + + friend = url_decode(tmp); + friend = utf8_to_str(friend); g_snprintf(gc->displayname, sizeof(gc->displayname), "%s", friend); g_free(friend); @@ -2115,14 +2117,14 @@ if (!entry || *entry == NULL) alias = g_strdup(""); else - alias = str_to_utf8(url_encode(entry)); + alias = str_to_utf8(entry); if (strlen(alias) >= BUDDY_ALIAS_MAXLEN) { do_error_dialog(_("New MSN friendly name too long."), NULL, GAIM_ERROR); return; } - g_snprintf(buf, sizeof(buf), "REA %d %s %s\r\n", ++md->trId, gc->username, alias); + g_snprintf(buf, sizeof(buf), "REA %d %s %s\r\n", ++md->trId, gc->username, url_encode(alias)); g_free(alias); if (msn_write(md->fd, buf, strlen(buf)) < 0) { hide_login_progress(gc, "Write error"); |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:22
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv10106/src/protocols/oscar Modified Files: oscar.c Log Message: A few patches. Brian--tell me what your last name is, and I'll put it in. ;) Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.144 retrieving revision 1.145 diff -u -d -r1.144 -r1.145 --- oscar.c 27 Aug 2002 17:58:14 -0000 1.144 +++ oscar.c 28 Aug 2002 02:38:19 -0000 1.145 @@ -3702,6 +3702,23 @@ return m; } +static GList *oscar_edit_buddy_menu(struct gaim_connection *gc, char *who) +{ + GList *m = NULL; + struct proto_buddy_menu *pbm; + struct oscar_data *odata = gc->proto_data; + + if (odata->icq) { + pbm = g_new0(struct proto_buddy_menu, 1); + pbm->label = _("Get Info"); + pbm->callback = oscar_get_info; + pbm->gc = gc; + m = g_list_append(m, pbm); + } + + return m; +} + static GList *oscar_user_opts() { GList *m = NULL; @@ -3950,6 +3967,7 @@ ret->actions = oscar_actions; ret->do_action = oscar_do_action; ret->buddy_menu = oscar_buddy_menu; + ret->edit_buddy_menu = oscar_edit_buddy_menu; ret->user_opts = oscar_user_opts; ret->login = oscar_login; ret->close = oscar_close; |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:22
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv10106/src Modified Files: perl.c server.c Log Message: A few patches. Brian--tell me what your last name is, and I'll put it in. ;) Index: perl.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/perl.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- perl.c 25 Aug 2002 10:51:23 -0000 1.74 +++ perl.c 28 Aug 2002 02:38:18 -0000 1.75 @@ -106,6 +106,7 @@ /* handler commands */ XS(XS_GAIM_add_event_handler); /* when servers talk */ +XS(XS_GAIM_remove_event_handler); /* remove a handler */ XS(XS_GAIM_add_timeout_handler); /* figure it out */ /* play sound */ @@ -244,6 +245,7 @@ newXS ("GAIM::serv_send_im", XS_GAIM_serv_send_im, "GAIM"); newXS ("GAIM::add_event_handler", XS_GAIM_add_event_handler, "GAIM"); + newXS ("GAIM::remove_event_handler", XS_GAIM_remove_event_handler, "GAIM"); newXS ("GAIM::add_timeout_handler", XS_GAIM_add_timeout_handler, "GAIM"); newXS ("GAIM::play_sound", XS_GAIM_play_sound, "GAIM"); @@ -812,6 +814,30 @@ perl_event_handlers = g_list_append(perl_event_handlers, handler); debug_printf("registered perl event handler for %s\n", handler->event_type); XSRETURN_EMPTY; +} + +XS (XS_GAIM_remove_event_handler) +{ + unsigned int junk; + struct _perl_event_handlers *ehn; + GList *cur = perl_event_handlers; + dXSARGS; + + while (cur) { + GList *next = cur->next; + ehn = cur->data; + + if (!strcmp(ehn->event_type, SvPV(ST(0), junk)) && + !strcmp(ehn->handler_name, SvPV(ST(1), junk))) + { + perl_event_handlers = g_list_remove(perl_event_handlers, ehn); + g_free(ehn->event_type); + g_free(ehn->handler_name); + g_free(ehn); + } + + cur = next; + } } static int perl_timeout(gpointer data) Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.229 retrieving revision 1.230 diff -u -d -r1.229 -r1.230 --- server.c 25 Aug 2002 10:51:23 -0000 1.229 +++ server.c 28 Aug 2002 02:38:18 -0000 1.230 @@ -232,7 +232,8 @@ void serv_set_info(struct gaim_connection *g, char *info) { if (g && g_slist_find(connections, g) && g->prpl && g->prpl->set_info) { - plugin_event(event_set_info, g, info, 0, 0); + if (plugin_event(event_set_info, g, info, 0, 0)) + return; g->prpl->set_info(g, info); } } |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:21
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv10106 Modified Files: ChangeLog Log Message: A few patches. Brian--tell me what your last name is, and I'll put it in. ;) Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.526 retrieving revision 1.527 diff -u -d -r1.526 -r1.527 --- ChangeLog 27 Aug 2002 17:58:14 -0000 1.526 +++ ChangeLog 28 Aug 2002 02:38:18 -0000 1.527 @@ -45,6 +45,11 @@ (Thanks Jonas Birmé) * Parse URL messages and Contact Sending in ICQ (Thanks Mark Doliner) + * Added GAIM::remove_event_handler and made set_info short + circuitable in perl. (Thanks Ryan McCabe) + * Improved MSN internationalization (Thanks A Lee) + * Can get info for ICQ and Jabber users from the "Edit + Buddies" tab (Thanks click81) version 0.59 (06/24/2002): * Hungarian translation added (Thanks, Sutto Zoltan) |
From: Sean E. <sea...@us...> - 2002-08-28 02:38:21
|
Update of /cvsroot/gaim/gaim/src/protocols/jabber In directory usw-pr-cvs1:/tmp/cvs-serv10106/src/protocols/jabber Modified Files: jabber.c Log Message: A few patches. Brian--tell me what your last name is, and I'll put it in. ;) Index: jabber.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/jabber/jabber.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- jabber.c 25 Aug 2002 10:51:23 -0000 1.60 +++ jabber.c 28 Aug 2002 02:38:18 -0000 1.61 @@ -3075,6 +3075,11 @@ struct proto_buddy_menu *pbm; pbm = g_new0(struct proto_buddy_menu, 1); + pbm->label = _("Get Info"); + pbm->callback = jabber_get_info; + pbm->gc = gc; + m = g_list_append(m, pbm); + pbm = g_new0(struct proto_buddy_menu, 1); pbm->label = _("Remove From Roster"); pbm->callback = jabber_remove_buddy_roster_item; pbm->gc = gc; |