summaryrefslogtreecommitdiff
path: root/chat/gaim
diff options
context:
space:
mode:
authorjmmv <jmmv@pkgsrc.org>2004-04-02 16:08:21 +0000
committerjmmv <jmmv@pkgsrc.org>2004-04-02 16:08:21 +0000
commit6d7acba347441918fc4f7c00b66e8faea3ae939e (patch)
tree97ccf22be2c9f71b4a423ed88eee2e04e7972763 /chat/gaim
parentabb79e903373b977c4b0d2e27a0c534a166fe49e (diff)
downloadpkgsrc-6d7acba347441918fc4f7c00b66e8faea3ae939e.tar.gz
Update to 0.76, based on patch from Matthew Luckie (maintainer).
New Features: * WYSIWYG text input (with much help from Gary Kramlich and Kevin Stange) * Ability to be invisible on AIM * Chatroom list support (Tim Ringenbach) * Added auto-completion for screen names to the New Instant Message and Get User Info dialogs. * Non-ascii character support in AIM chats (Uli Luckas and Marco Ziech) * Vastly improved browser opening, with tab support! (Nathan Fredrickson) * Added support for connecting to MSN using the port 80 method. * Support for Mozilla Firefox (Chris Friesen and Nathan Fredrickson) * Added protocol-specific preferences (Gary Kramlich) * Local IP address information can be changed in Preferences (Tim Ringenbach) * Improved local IP address detection (Tim Ringenbach) * Offline accounts in account drop-down lists are now greyed (Etan Reisner) * Improved accessibility support for screen readers and other accessibility tools (Marc Mulcahy) * Improved accessibility in conversation windows (Nathan Fredrickson) * Keyboard access to context menus via Shift+F10 (Marc Mulcahy) * Core/UI split event loop code. (Scott Lamb) * Added improvements to the multi-field request code, including required fields and account fields. * Moved more dialogs to the request API for interface consistency (Send Message, Get User Info, and Insert Link dialogs) * Jabber file transfer * IRC file transfer (Tim Ringenbach) * Added a hidden preference for disabling buddy list tooltips or changing the pop-up delay in prefs.xml. * Moved translation news to po/ChangeLog Bug Fixes: * Significant work on the Zephyr plugin (Arun A. Tharuvai) * You can now use :/ as a smiley safely (Nathan Owens) * Various buffer overflow fixes (Stefan Esser) * Tabs now stay green when they are supposed to (Etan Reisner) * Fixed a bug where only the first user in a chat room list was removed sometimes when trying to remove a group of users (Tim Ringenbach) * Clearing an AIM buddy icon actually removes it from the server, icons changes in the account editor do not take effect if the cancel button is used (Stu Tomlinson) * Improved chat parting logic (Tim Ringenbach) * Yet Another IRC channel user duplication bugfix (Tim Ringenbach) * Deleting an account while modifying it will no longer crash gaim. * Only one account preference window will now appear per account when clicking Modify. * Aliases are now shown alongside the screen name in the message queue window. (Kevin Stange). * TCL Plugin API changed * The mobile icon on MSN users is now removed when the person disables mobile paging (Stu Tomlinson) * Removing invalid buddies in MSN with a space in their name no longer causes a disconnect (Stu Tomlinson) * Multiple MSN chats should now work (Robert Mibus) * Added new MSN error codes and fixed an incorrect one (Stu Tomlinson) * Incoming colors are now processed correctly in MSN. * Conversation placement by account now works correctly with both chats and IMs, and takes the Combine Chats and IMs option into consideration. * Minor tweaks to the list box in the multi-field request dialogs so they work without a label and scrollbar (Pekka Riikonen) * Hitting enter in a multi-field request dialog when a textfield has the focus no longer ignores the changed text in the textfield (Gary Kramlich) * The Disconnect dialog no longer raises and gains focus each time a disconnected account is added (Ka-Hing Cheung) * Gadu-Gadu might actually connect again (Ignacy Gawedzki) * Buddy pounces for an account are removed when the account is deleted (Gary Kramlich) * Various bug and memory leak fixes (Gary Kramlich) * Assorted SSL crashfixes * --enable-debug no longer breaks compilation when using gtk 2.4, which also broke garnome. * Tooltips shouldn't crash now (Daniel Atallah)
Diffstat (limited to 'chat/gaim')
-rw-r--r--chat/gaim/Makefile7
-rw-r--r--chat/gaim/PLIST8
-rw-r--r--chat/gaim/distinfo10
-rw-r--r--chat/gaim/patches/patch-aa12
-rw-r--r--chat/gaim/patches/patch-ab176
-rw-r--r--chat/gaim/patches/patch-ac13
-rw-r--r--chat/gaim/patches/patch-ad136
7 files changed, 12 insertions, 350 deletions
diff --git a/chat/gaim/Makefile b/chat/gaim/Makefile
index 7fc449b5381..7756f71a0c3 100644
--- a/chat/gaim/Makefile
+++ b/chat/gaim/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.56 2004/03/08 19:40:36 jmmv Exp $
+# $NetBSD: Makefile,v 1.57 2004/04/02 16:08:21 jmmv Exp $
#
-DISTNAME= gaim-0.75
-PKGREVISION= 4
+DISTNAME= gaim-0.76
CATEGORIES= chat x11
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gaim/}
EXTRACT_SUFX= .tar.bz2
@@ -12,7 +11,7 @@ HOMEPAGE= http://gaim.sourceforge.net/
COMMENT= GTK2 based client for the AOL Instant Messenger chat system
BUILD_USES_MSGFMT= YES
-DEPENDS+= gnome2-dirs>=1.5:../../misc/gnome2-dirs
+DEPENDS+= xdg-dirs>=1.1:../../misc/xdg-dirs
CONFLICTS+= gaim-gnome-[0-9]*
diff --git a/chat/gaim/PLIST b/chat/gaim/PLIST
index cf01a6bd469..5d86bc731ee 100644
--- a/chat/gaim/PLIST
+++ b/chat/gaim/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.24 2004/03/08 19:40:36 jmmv Exp $
+@comment $NetBSD: PLIST,v 1.25 2004/04/02 16:08:21 jmmv Exp $
bin/gaim
bin/gaim-remote
include/gaim-remote/remote-socket.h
@@ -138,6 +138,7 @@ share/pixmaps/gaim/dialogs/gaim_question.png
share/pixmaps/gaim/dialogs/gaim_warning.png
share/pixmaps/gaim/icons/away.png
share/pixmaps/gaim/icons/connect.png
+share/pixmaps/gaim/icons/info.png
share/pixmaps/gaim/icons/msgpend.png
share/pixmaps/gaim/icons/msgunread.png
share/pixmaps/gaim/icons/offline.png
@@ -338,6 +339,7 @@ share/pixmaps/gaim/status/default/secure.png
share/pixmaps/gaim/status/default/trepia.png
share/pixmaps/gaim/status/default/wireless.png
share/pixmaps/gaim/status/default/yahoo.png
+share/pixmaps/gaim/status/default/zephyr.png
share/pixmaps/gaim/tb_drag_arrow_down.xpm
share/pixmaps/gaim/tb_drag_arrow_left.xpm
share/pixmaps/gaim/tb_drag_arrow_right.xpm
@@ -350,6 +352,7 @@ share/sounds/gaim/receive.wav
share/sounds/gaim/redalert.wav
share/sounds/gaim/send.wav
@dirrm share/sounds/gaim
+@comment in xdg-dirs: @dirrm share/sounds
@dirrm share/pixmaps/gaim/status/default
@dirrm share/pixmaps/gaim/status
@dirrm share/pixmaps/gaim/smileys/default
@@ -358,6 +361,7 @@ share/sounds/gaim/send.wav
@dirrm share/pixmaps/gaim/dialogs
@dirrm share/pixmaps/gaim/buttons
@dirrm share/pixmaps/gaim
-@comment in gnome2-dirs: @dirrm share/applications
+@comment in xdg-dirs: @dirrm share/pixmaps
+@comment in xdg-dirs: @dirrm share/applications
@dirrm lib/gaim
@dirrm include/gaim-remote
diff --git a/chat/gaim/distinfo b/chat/gaim/distinfo
index fe9ef139352..1a0c078c9c1 100644
--- a/chat/gaim/distinfo
+++ b/chat/gaim/distinfo
@@ -1,8 +1,4 @@
-$NetBSD: distinfo,v 1.38 2004/01/27 01:24:52 recht Exp $
+$NetBSD: distinfo,v 1.39 2004/04/02 16:08:21 jmmv Exp $
-SHA1 (gaim-0.75.tar.bz2) = 20a7ccadf276d9db6b74ae3d07d90601d805a4a9
-Size (gaim-0.75.tar.bz2) = 3370977 bytes
-SHA1 (patch-aa) = 90d7bbc5c9ab5c6ffeba30a6c782e66cb1e3d861
-SHA1 (patch-ab) = aff902959e96d00c0712ac88b235aa918ba082d6
-SHA1 (patch-ac) = 803423543063b5838139dfad4c80172d6bfb4d70
-SHA1 (patch-ad) = 02f5d4d7b6cf2bc49043eba09b079ce2530552dc
+SHA1 (gaim-0.76.tar.bz2) = f683b30f43d3a3e1453f96a5fb9dfd7ed6dbd4b2
+Size (gaim-0.76.tar.bz2) = 3543882 bytes
diff --git a/chat/gaim/patches/patch-aa b/chat/gaim/patches/patch-aa
deleted file mode 100644
index c00d5ae2940..00000000000
--- a/chat/gaim/patches/patch-aa
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-aa,v 1.17 2004/01/27 01:24:52 recht Exp $
-
---- src/protocols/oscar/ft.c.orig 2004-01-05 02:34:04.000000000 +0100
-+++ src/protocols/oscar/ft.c
-@@ -44,6 +44,7 @@
- #include <config.h>
- #endif
-
-+#include <limits.h>
- #include <aim.h>
-
- #ifndef _WIN32
diff --git a/chat/gaim/patches/patch-ab b/chat/gaim/patches/patch-ab
deleted file mode 100644
index 09b7568e0b0..00000000000
--- a/chat/gaim/patches/patch-ab
+++ /dev/null
@@ -1,176 +0,0 @@
-$NetBSD: patch-ab,v 1.6 2004/01/27 01:24:52 recht Exp $
-
---- src/protocols/yahoo/yahoo.c.orig 2004-01-10 06:04:09.000000000 +0100
-+++ src/protocols/yahoo/yahoo.c
-@@ -20,6 +20,7 @@
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-+#include <limits.h>
- #include "internal.h"
-
- #include "account.h"
-@@ -131,8 +132,15 @@ static void yahoo_packet_read(struct yah
- while (pos + 1 < len) {
- if (data[pos] == 0xc0 && data[pos + 1] == 0x80)
- break;
-+ if (x >= sizeof(key)-1) {
-+ x++;
-+ continue;
-+
-+ }
- key[x++] = data[pos++];
- }
-+ if (x >= sizeof(key)-1)
-+ x = 0;
- key[x] = 0;
- pos += 2;
- pair->key = strtol(key, NULL, 10);
-@@ -868,32 +876,66 @@ static void yahoo_process_contact(GaimCo
- }
- }
-
-+
-+static void octal(const char **p, const char *end, unsigned char *n)
-+{
-+ int i, c;
-+
-+ for (i = 0, c = 0; i < 3 && *p < end; ++i, ++*p) {
-+ c <<= 3;
-+ switch (**p) {
-+ case '0': break;
-+ case '1': c += 1; break;
-+ case '2': c += 2; break;
-+ case '3': c += 3; break;
-+ case '4': c += 4; break;
-+ case '5': c += 5; break;
-+ case '6': c += 6; break;
-+ case '7': c += 7; break;
-+ default:
-+ if (i == 0) {
-+ *n = **p;
-+ ++*p;
-+ return;
-+ }
-+ c >>= 3;
-+ goto done;
-+ }
-+ }
-+done:
-+ *n = (c > UCHAR_MAX) ? '?' : c;
-+ return;
-+}
-+
- #define OUT_CHARSET "utf-8"
-
- static char *yahoo_decode(const char *text)
- {
- char *converted;
-- char *p, *n, *new;
--
-- n = new = g_malloc(strlen (text) + 1);
--
-- for (p = (char *)text; *p; p++, n++) {
-+ unsigned char *n, *new;
-+ size_t len;
-+ const char *p, *end;
-+
-+ len = strlen (text);
-+ p = text;
-+ end = &text[len];
-+ n = new = g_malloc(len + 1);
-+ while (p < end) {
- if (*p == '\\') {
-- sscanf(p + 1, "%3o\n", (int *)n);
-- p += 3;
-- }
-- else
-- *n = *p;
-+ ++p;
-+ octal(&p, end, n);
-+ } else
-+ *n = *p++;
-+ ++n;
- }
--
- *n = '\0';
--
- converted = g_convert(new, n - new, OUT_CHARSET, "iso-8859-1", NULL, NULL, NULL);
- g_free(new);
-
- return converted;
- }
-
-+
- static void yahoo_process_mail(GaimConnection *gc, struct yahoo_packet *pkt)
- {
- GaimAccount *account = gaim_connection_get_account(gc);
-@@ -1903,32 +1945,30 @@ static void yahoo_got_web_connected(gpoi
-
- static void yahoo_web_pending(gpointer data, gint source, GaimInputCondition cond)
- {
-+ static const char http302[] = "HTTP/1.0 302";
-+ static const char setcookie[] = "Set-Cookie: ";
- GaimConnection *gc = data;
- GaimAccount *account = gaim_connection_get_account(gc);
- struct yahoo_data *yd = gc->proto_data;
-- char buf[1024], buf2[256], *i = buf, *r = buf2;
-- int len, o = 0;
-+ char buf[1024], *i = buf;
-+ int len;
-+ GString *s;
-
- len = read(source, buf, sizeof(buf));
-- if (len <= 0 || strncmp(buf, "HTTP/1.0 302", strlen("HTTP/1.0 302"))) {
-+ if (len <= 0 || (len >= sizeof(http302)-1 &&
-+ memcmp(http302, buf, sizeof(http302)-1) != 0)) {
- gaim_connection_error(gc, _("Unable to read"));
- return;
- }
--
-- while ((i = strstr(i, "Set-Cookie: ")) && 0 < 2) {
-- i += strlen("Set-Cookie: ");
-- for (;*i != ';'; r++, i++) {
-- *r = *i;
-- }
-- *r=';';
-- r++;
-- *r=' ';
-- r++;
-- o++;
-- }
-- /* Get rid of that "; " */
-- *(r-2) = '\0';
-- yd->auth = g_strdup(buf2);
-+ s = g_string_sized_new(len);
-+ buf[len] = '\0';
-+ while ((i = strstr(i, setcookie)) != NULL) {
-+ i += sizeof(setcookie)-1;
-+ for (;*i != ';'; i++)
-+ g_string_append_c(s, *i);
-+ g_string_append(s, "; ");
-+ }
-+ yd->auth = g_string_free(s, FALSE);
- gaim_input_remove(gc->inpa);
- close(source);
- /* Now we have our cookies to login with. I'll go get the milk. */
-@@ -1974,15 +2014,17 @@ static GHashTable *yahoo_login_page_hash
- const char *c = buf;
- char *d;
- char name[64], value[64];
-+ int count = sizeof(name)-1;
- while ((c < (buf + len)) && (c = strstr(c, "<input "))) {
- c = strstr(c, "name=\"") + strlen("name=\"");
-- for (d = name; *c!='"'; c++, d++)
-+ for (d = name; *c!='"' && count; c++, d++, count--)
- *d = *c;
- *d = '\0';
-+ count = sizeof(value)-1;
- d = strstr(c, "value=\"") + strlen("value=\"");
- if (strchr(c, '>') < d)
- break;
-- for (c = d, d = value; *c!='"'; c++, d++)
-+ for (c = d, d = value; *c!='"' && count; c++, d++, count--)
- *d = *c;
- *d = '\0';
- g_hash_table_insert(hash, g_strdup(name), g_strdup(value));
diff --git a/chat/gaim/patches/patch-ac b/chat/gaim/patches/patch-ac
deleted file mode 100644
index cc5cae22770..00000000000
--- a/chat/gaim/patches/patch-ac
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ac,v 1.5 2004/01/27 01:24:52 recht Exp $
-
---- src/proxy.c.orig 2004-01-10 05:04:56.000000000 +0100
-+++ src/proxy.c
-@@ -974,7 +974,7 @@ http_canread(gpointer data, gint source,
-
- gaim_input_remove(phb->inpa);
-
-- while ((nlc != 2) && (read(source, &inputline[pos++], 1) == 1)) {
-+ while ((pos < sizeof(inputline)-1) && (nlc != 2) && (read(source, &inputline[pos++], 1) == 1)) {
- if (inputline[pos - 1] == '\n')
- nlc++;
- else if (inputline[pos - 1] != '\r')
diff --git a/chat/gaim/patches/patch-ad b/chat/gaim/patches/patch-ad
deleted file mode 100644
index 0c4ea64cf1c..00000000000
--- a/chat/gaim/patches/patch-ad
+++ /dev/null
@@ -1,136 +0,0 @@
-$NetBSD: patch-ad,v 1.1 2004/01/27 01:24:52 recht Exp $
-
---- src/util.c.orig 2004-01-10 05:04:56.000000000 +0100
-+++ src/util.c
-@@ -247,24 +247,71 @@ gaim_base64_decode(const char *text, cha
- /**************************************************************************
- * Quoted Printable Functions
- **************************************************************************/
--void
--gaim_quotedp_decode(const char *str, char **ret_str, int *ret_len)
-+static void hex(const char **p, const char *end, unsigned char *n)
- {
-- char *p, *n, *new;
-+ int i, c;
-
-- n = new = g_malloc(strlen (str) + 1);
-+ for (i = 0, c = 0; i < 2 && *p < end; ++i, ++*p) {
-+ c <<= 4;
-+ switch (**p) {
-+ case '0': break;
-+ case '1': c += 1; break;
-+ case '2': c += 2; break;
-+ case '3': c += 3; break;
-+ case '4': c += 4; break;
-+ case '5': c += 5; break;
-+ case '6': c += 6; break;
-+ case '7': c += 7; break;
-+ case '8': c += 8; break;
-+ case '9': c += 9; break;
-+ case 'a': c += 10; break;
-+ case 'b': c += 11; break;
-+ case 'c': c += 12; break;
-+ case 'd': c += 13; break;
-+ case 'e': c += 14; break;
-+ case 'f': c += 15; break;
-+ case 'A': c += 10; break;
-+ case 'B': c += 11; break;
-+ case 'C': c += 12; break;
-+ case 'D': c += 13; break;
-+ case 'E': c += 14; break;
-+ case 'F': c += 15; break;
-+ default:
-+ if (i == 0) {
-+ *n = **p;
-+ ++*p;
-+ return;
-+ }
-+ c >>= 4;
-+ goto done;
-+ }
-+ }
-+done:
-+ *n = (c > UCHAR_MAX) ? '?' : c;
-+ return;
-+}
-
-- for (p = (char *)str; *p; p++, n++) {
-+void
-+gaim_quotedp_decode(const char *str, char **ret_str, int *ret_len)
-+{
-+ const char *p, *end;
-+ unsigned char *n, *new;
-+ size_t len;
-+
-+ len = strlen (str);
-+ n = new = g_malloc(len + 1);
-+ p = str;
-+ end = &p[len];
-+ while (p < end) {
- if (*p == '=') {
-- sscanf(p + 1, "%2x\n", (int *)n);
-- p += 2;
-- }
-- else if (*p == '_')
-+ ++p;
-+ hex(&p, end, n);
-+ } else if (*p == '_')
- *n = ' ';
- else
- *n = *p;
-+ ++n;
- }
--
- *n = '\0';
-
- if (ret_len)
-@@ -1962,7 +2009,7 @@ gaim_url_parse(const char *url, char **r
- char **ret_path)
- {
- char scan_info[255];
-- char port_str[5];
-+ char port_str[6];
- int f;
- const char *turl;
- char host[256], path[256];
-@@ -1982,16 +2029,21 @@ gaim_url_parse(const char *url, char **r
- }
-
- g_snprintf(scan_info, sizeof(scan_info),
-- "%%[%s]:%%[%s]/%%[%s]", addr_ctrl, port_ctrl, page_ctrl);
-+ "%%255[%s]:%%5[%s]/%%255[%s]", addr_ctrl, port_ctrl, page_ctrl);
-+ addr_ctrl[sizeof(addr_ctrl)-1] = '\0';
-+ port_ctrl[sizeof(port_ctrl)-1] = '\0';
-+ page_ctrl[sizeof(page_ctrl)-1] = '\0';
-
- f = sscanf(url, scan_info, host, port_str, path);
-
- if (f == 1)
- {
- g_snprintf(scan_info, sizeof(scan_info),
-- "%%[%s]/%%[%s]",
-+ "%%255[%s]/%%255[%s]",
- addr_ctrl, page_ctrl);
- f = sscanf(url, scan_info, host, path);
-+ addr_ctrl[sizeof(addr_ctrl)-1] = '\0';
-+ page_ctrl[sizeof(page_ctrl)-1] = '\0';
- g_snprintf(port_str, sizeof(port_str), "80");
- }
-
-@@ -2081,9 +2133,14 @@ parse_redirect(const char *data, size_t
- static size_t
- parse_content_len(const char *data, size_t data_len)
- {
-- size_t content_len = 0;
-+ int content_len = 0;
-+ char *tmp;
-
-- sscanf(data, "Content-Length: %d", (int *)&content_len);
-+ tmp = g_malloc(data_len + 1);
-+ memcpy(tmp, data, data_len);
-+ tmp[data_len] = '\0';
-+ sscanf(tmp, "Content-Length: %d", &content_len);
-+ g_free(tmp);
-
- return content_len;
- }