diff options
author | jmmv <jmmv> | 2004-04-02 16:08:21 +0000 |
---|---|---|
committer | jmmv <jmmv> | 2004-04-02 16:08:21 +0000 |
commit | 44a42e278cbceea2955fc7c742c5eef27ab1fd60 (patch) | |
tree | 97ccf22be2c9f71b4a423ed88eee2e04e7972763 /chat/gaim | |
parent | 682964b035cd307d35445471aa985c187a05725d (diff) | |
download | pkgsrc-44a42e278cbceea2955fc7c742c5eef27ab1fd60.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/Makefile | 7 | ||||
-rw-r--r-- | chat/gaim/PLIST | 8 | ||||
-rw-r--r-- | chat/gaim/distinfo | 10 | ||||
-rw-r--r-- | chat/gaim/patches/patch-aa | 12 | ||||
-rw-r--r-- | chat/gaim/patches/patch-ab | 176 | ||||
-rw-r--r-- | chat/gaim/patches/patch-ac | 13 | ||||
-rw-r--r-- | chat/gaim/patches/patch-ad | 136 |
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; - } |