diff options
author | Don Seiler <rizzo@gentoo.org> | 2004-08-24 13:52:15 +0000 |
---|---|---|
committer | Don Seiler <rizzo@gentoo.org> | 2004-08-24 13:52:15 +0000 |
commit | d15d2c996c3dea131089a9794f5f0d57caaca7a6 (patch) | |
tree | 366fc0c2dc96b130a1ce0f65fe39d050c0f0f08d /net-im | |
parent | Version bump. (diff) | |
download | historical-d15d2c996c3dea131089a9794f5f0d57caaca7a6.tar.gz historical-d15d2c996c3dea131089a9794f5f0d57caaca7a6.tar.bz2 historical-d15d2c996c3dea131089a9794f5f0d57caaca7a6.zip |
Final set of patches for known issues
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/gaim/ChangeLog | 10 | ||||
-rw-r--r-- | net-im/gaim/Manifest | 20 | ||||
-rw-r--r-- | net-im/gaim/files/digest-gaim-0.81-r3 | 1 | ||||
-rw-r--r-- | net-im/gaim/files/digest-gaim-0.81-r4 | 1 | ||||
-rw-r--r-- | net-im/gaim/files/digest-gaim-0.81-r5 (renamed from net-im/gaim/files/digest-gaim-0.81-r2) | 0 | ||||
-rw-r--r-- | net-im/gaim/files/gaim-0.81-security2.diff | 331 | ||||
-rw-r--r-- | net-im/gaim/files/gaim-0.82cvs-gtkprefs-fix.patch | 27 | ||||
-rw-r--r-- | net-im/gaim/files/gaim-0.82cvs-msn_object.diff | 29 | ||||
-rw-r--r-- | net-im/gaim/files/gaim-0.82cvs-novell.diff | 135 | ||||
-rw-r--r-- | net-im/gaim/gaim-0.81-r3.ebuild | 123 | ||||
-rw-r--r-- | net-im/gaim/gaim-0.81-r4.ebuild | 124 | ||||
-rw-r--r-- | net-im/gaim/gaim-0.81-r5.ebuild (renamed from net-im/gaim/gaim-0.81-r2.ebuild) | 8 |
12 files changed, 351 insertions, 458 deletions
diff --git a/net-im/gaim/ChangeLog b/net-im/gaim/ChangeLog index 81f6214da155..3b6ae3a66dee 100644 --- a/net-im/gaim/ChangeLog +++ b/net-im/gaim/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-im/gaim # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/ChangeLog,v 1.223 2004/08/23 21:26:17 rizzo Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/ChangeLog,v 1.224 2004/08/24 13:52:14 rizzo Exp $ + +*gaim-0.81-r5 (24 Aug 2004) + + 24 Aug 2004; Don Seiler <rizzo@gentoo.org> +files/gaim-0.81-security2.diff, + -files/gaim-0.82cvs-gtkprefs-fix.patch, -files/gaim-0.82cvs-msn_object.diff, + -files/gaim-0.82cvs-novell.diff, -gaim-0.81-r2.ebuild, -gaim-0.81-r3.ebuild, + -gaim-0.81-r4.ebuild, +gaim-0.81-r5.ebuild: + Final set of patches for known issues *gaim-0.81-r4 (23 Aug 2004) diff --git a/net-im/gaim/Manifest b/net-im/gaim/Manifest index f52d5d911b93..6d2d9bbf854b 100644 --- a/net-im/gaim/Manifest +++ b/net-im/gaim/Manifest @@ -1,22 +1,16 @@ -MD5 377cf116470e986a4a0eb7d4a1c4d339 ChangeLog 35865 +MD5 80c9b05e0589eae589ad71ab7e2dc59c ChangeLog 36217 +MD5 1d2f0475d63cee1555681b9b48cb06d0 gaim-0.81-r5.ebuild 3592 MD5 aa2bd01ed3b53a41dd82677362df7309 gaim-0.80.ebuild 3677 MD5 19b3cafbbe380403d46cccc45a984b80 metadata.xml 481 MD5 ce948aa070cbdedd0e166613b097fb6e gaim-0.81-r1.ebuild 3525 -MD5 c21c8b11e93aaa2494e8d22cd918d8e0 gaim-0.81-r2.ebuild 3623 -MD5 ed634d8e63bd8930a700ea858bf68d06 gaim-0.81-r3.ebuild 3704 -MD5 5475e11d57955f5e988367814dc0329c gaim-0.81-r4.ebuild 3753 +MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r1 63 MD5 ad7e4af1d9de1d8a8c2b24530b6469e5 files/gaim-0.81_msn-slp.diff 779 +MD5 7a5f5d2d68f003ca4e2b61935ca40ea1 files/digest-gaim-0.80 63 MD5 afc682711efed5d09a9229bd06a7a13b files/gaim-0.76-xinput.patch 644 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r1 63 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r2 63 -MD5 0dadf0b96457e6b4069d9b23e6b3a80c files/gaim-0.82cvs-gtkprefs-fix.patch 982 MD5 22aae7173f7cbf5d93d1db9907740064 files/syslog_fd_leak.diff 8423 -MD5 2ca69dd6a67d24045338ebfb9d790cfa files/gaim-0.82cvs-novell.diff 3937 -MD5 7a5f5d2d68f003ca4e2b61935ca40ea1 files/digest-gaim-0.80 63 +MD5 91841348c88bce66a078e65c4c26f9ca files/gaim-0.81cvs-chatbutton-crashfix.patch 2932 MD5 12944fad880bbec0f05c539550fa5dd4 files/gaim-0.81cvs-gtkblist_dnd.diff 1516 MD5 d37f310f1242f44dab25d3aa42c8836d files/gaim-0.81cvs-icon_scaling.diff 3999 MD5 4d66f0652fc19f650164da20f3898eac files/gaim-0.81cvs-irc-ison-lessflood.patch 1252 -MD5 91841348c88bce66a078e65c4c26f9ca files/gaim-0.81cvs-chatbutton-crashfix.patch 2932 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r3 63 -MD5 9fdaa511955472f3e519c29ab6047f0f files/gaim-0.82cvs-msn_object.diff 836 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r4 63 +MD5 9f2fa9ae8de6d285902cb2b46389c681 files/gaim-0.81-security2.diff 10297 +MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r5 63 diff --git a/net-im/gaim/files/digest-gaim-0.81-r3 b/net-im/gaim/files/digest-gaim-0.81-r3 deleted file mode 100644 index 0f0ac7561307..000000000000 --- a/net-im/gaim/files/digest-gaim-0.81-r3 +++ /dev/null @@ -1 +0,0 @@ -MD5 ee3460363f51ad24db1c5697d1da3c1b gaim-0.81.tar.bz2 4588215 diff --git a/net-im/gaim/files/digest-gaim-0.81-r4 b/net-im/gaim/files/digest-gaim-0.81-r4 deleted file mode 100644 index 0f0ac7561307..000000000000 --- a/net-im/gaim/files/digest-gaim-0.81-r4 +++ /dev/null @@ -1 +0,0 @@ -MD5 ee3460363f51ad24db1c5697d1da3c1b gaim-0.81.tar.bz2 4588215 diff --git a/net-im/gaim/files/digest-gaim-0.81-r2 b/net-im/gaim/files/digest-gaim-0.81-r5 index 0f0ac7561307..0f0ac7561307 100644 --- a/net-im/gaim/files/digest-gaim-0.81-r2 +++ b/net-im/gaim/files/digest-gaim-0.81-r5 diff --git a/net-im/gaim/files/gaim-0.81-security2.diff b/net-im/gaim/files/gaim-0.81-security2.diff new file mode 100644 index 000000000000..c61141c8d354 --- /dev/null +++ b/net-im/gaim/files/gaim-0.81-security2.diff @@ -0,0 +1,331 @@ +diff -ruN gaim-0.81/src/gtkprefs.c gaim-0.81-patched/src/gtkprefs.c +--- gaim-0.81/src/gtkprefs.c 2004-07-27 20:07:02.000000000 -0400 ++++ gaim-0.81-patched/src/gtkprefs.c 2004-08-23 22:23:20.464472424 -0400 +@@ -523,7 +523,7 @@ + + void theme_install_theme(char *path, char *extn) { + #ifndef _WIN32 +- gchar *command; ++ gchar *command, *escaped; + #endif + gchar *destdir; + gchar *tail; +@@ -544,7 +544,9 @@ + * other platforms, if need be */ + if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) { + #ifndef _WIN32 +- command = g_strdup_printf("tar > /dev/null xzf \"%s\" -C %s", path, destdir); ++ escaped = g_shell_quote(path); ++ command = g_strdup_printf("tar > /dev/null xzf %s -C %s", escaped, destdir); ++ g_free(escaped); + #else + if(!wgaim_gz_untar(path, destdir)) { + g_free(destdir); +diff -ruN gaim-0.81/src/protocols/msn/object.c gaim-0.81-patched/src/protocols/msn/object.c +--- gaim-0.81/src/protocols/msn/object.c 2004-06-05 23:42:54.000000000 -0400 ++++ gaim-0.81-patched/src/protocols/msn/object.c 2004-08-23 22:23:20.465472272 -0400 +@@ -35,11 +35,18 @@ + if ((tag = strstr(str, id "=\"")) != NULL) \ + { \ + char buf[16]; \ ++ size_t offset; \ + tag += strlen(id "=\""); \ + c = strchr(tag, '"'); \ +- strncpy(buf, tag, c - tag); \ +- buf[c - tag] = '\0'; \ +- obj->field = atoi(buf); \ ++ if (c != NULL) \ ++ { \ ++ memset(buf, 0, sizeof(buf)); \ ++ offset = c - tag; \ ++ if (offset >= sizeof(buf)) \ ++ offset = sizeof(buf) - 1; \ ++ strncpy(buf, tag, offset); \ ++ obj->field = atoi(buf); \ ++ } \ + } + + static GList *local_objs; +diff -ruN gaim-0.81/src/protocols/msn/slp.c gaim-0.81-patched/src/protocols/msn/slp.c +--- gaim-0.81/src/protocols/msn/slp.c 2004-06-14 22:37:25.000000000 -0400 ++++ gaim-0.81-patched/src/protocols/msn/slp.c 2004-08-23 22:23:20.465472272 -0400 +@@ -645,8 +645,11 @@ + if ((c = strchr(status, '\r')) || (c = strchr(status, '\n')) || + (c = strchr(status, '\0'))) + { +- strncpy(temp, status, c - status); +- temp[c - status] = '\0'; ++ size_t offset = c - status; ++ if (offset >= sizeof(temp)) ++ offset = sizeof(temp) - 1; ++ strncpy(temp, status, offset); ++ temp[offset] = '\0'; + } + + gaim_debug_error("msn", "Received non-OK result: %s\n", temp); +diff -ruN gaim-0.81/src/protocols/novell/nmevent.c gaim-0.81-patched/src/protocols/novell/nmevent.c +--- gaim-0.81/src/protocols/novell/nmevent.c 2004-06-12 11:13:29.000000000 -0400 ++++ gaim-0.81-patched/src/protocols/novell/nmevent.c 2004-08-23 22:32:49.957896264 -0400 +@@ -27,6 +27,8 @@ + #include "nmuserrecord.h" + #include "nmrtf.h" + ++#define MAX_UINT32 0xFFFFFFFF ++ + struct _NMEvent + { + +@@ -147,6 +149,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -160,8 +164,9 @@ + /* Read the message text */ + if (rc == NM_OK) { + rc = nm_read_uint32(conn, &size); +- if (rc == NM_OK) { ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; + ++ if (rc == NM_OK) { + msg = g_new0(char, size + 1); + rc = nm_read_all(conn, msg, size); + +@@ -265,6 +270,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -273,6 +280,8 @@ + /* Read the the message */ + if (rc == NM_OK) { + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + msg = g_new0(char, size + 1); + rc = nm_read_all(conn, msg, size); +@@ -340,6 +349,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -390,6 +401,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -427,6 +440,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -475,6 +490,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -513,6 +530,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -570,6 +589,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +@@ -611,11 +632,11 @@ + + /* Read the status text */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { +- if (size > 0) { +- text = g_new0(char, size + 1); +- rc = nm_read_all(conn, text, size); +- } ++ text = g_new0(char, size + 1); ++ rc = nm_read_all(conn, text, size); + } + } + +@@ -649,6 +670,8 @@ + + /* Read the conference guid */ + rc = nm_read_uint32(conn, &size); ++ if (size == MAX_UINT32) return NMERR_PROTOCOL; ++ + if (rc == NM_OK) { + guid = g_new0(char, size + 1); + rc = nm_read_all(conn, guid, size); +diff -ruN gaim-0.81/src/protocols/novell/nmrtf.c gaim-0.81-patched/src/protocols/novell/nmrtf.c +--- gaim-0.81/src/protocols/novell/nmrtf.c 2004-06-12 11:13:29.000000000 -0400 ++++ gaim-0.81-patched/src/protocols/novell/nmrtf.c 2004-08-23 22:31:54.135382576 -0400 +@@ -506,9 +506,9 @@ + gboolean param_set = FALSE; + gboolean is_neg = FALSE; + int param = 0; +- char *pch; + char keyword[30]; + char parameter[20]; ++ int i; + + keyword[0] = '\0'; + parameter[0] = '\0'; +@@ -523,11 +523,11 @@ + } + + /* parse keyword */ +- for (pch = keyword; isalpha(ch); rtf_get_char(ctx, &ch)) { +- *pch = (char) ch; +- pch++; ++ for (i = 0; isalpha(ch) && (i < sizeof(keyword) - 1); rtf_get_char(ctx, &ch)) { ++ keyword[i] = (char) ch; ++ i++; + } +- *pch = '\0'; ++ keyword[i] = '\0'; + + /* check for '-' indicated a negative parameter value */ + if (ch == '-') { +@@ -540,11 +540,11 @@ + if (isdigit(ch)) { + + param_set = TRUE; +- for (pch = parameter; isdigit(ch); rtf_get_char(ctx, &ch)) { +- *pch = (char) ch; +- pch++; ++ for (i = 0; isdigit(ch) && (i < sizeof(parameter) - 1); rtf_get_char(ctx, &ch)) { ++ parameter[i] = (char) ch; ++ i++; + } +- *pch = '\0'; ++ parameter[i] = '\0'; + + ctx->param = param = atoi(parameter); + if (is_neg) +diff -ruN gaim-0.81/src/protocols/zephyr/zephyr.c gaim-0.81-patched/src/protocols/zephyr/zephyr.c +--- gaim-0.81/src/protocols/zephyr/zephyr.c 2004-07-27 20:51:27.000000000 -0400 ++++ gaim-0.81-patched/src/protocols/zephyr/zephyr.c 2004-08-23 22:30:38.018954032 -0400 +@@ -67,8 +67,8 @@ + GSList *subscrips; + int last_id; + unsigned short port; +- char ourhost[MAXHOSTNAMELEN]; +- char ourhostcanon[MAXHOSTNAMELEN]; ++ char ourhost[HOST_NAME_MAX + 1]; ++ char ourhostcanon[HOST_NAME_MAX + 1]; + }; + + /* struct I need for zephyr_to_html */ +@@ -860,19 +860,21 @@ + /* XXX This code may not be Win32 clean */ + struct hostent *hent; + +- if (gethostname(zephyr->ourhost, sizeof(zephyr->ourhost)-1) == -1) { ++ if (gethostname(zephyr->ourhost, sizeof(zephyr->ourhost)) == -1) { + gaim_debug(GAIM_DEBUG_ERROR, "zephyr", "unable to retrieve hostname, %%host%% and %%canon%% will be wrong in subscriptions and have been set to unknown\n"); +- g_stpcpy(zephyr->ourhost,"unknown"); +- g_stpcpy(zephyr->ourhostcanon,"unknown"); ++ g_strlcpy(zephyr->ourhost, "unknown", sizeof(zephyr->ourhost)); ++ g_strlcpy(zephyr->ourhostcanon, "unknown", sizeof(zephyr->ourhostcanon)); + return; + } + + if (!(hent = gethostbyname(zephyr->ourhost))) { + gaim_debug(GAIM_DEBUG_ERROR,"zephyr", "unable to resolve hostname, %%canon%% will be wrong in subscriptions.and has been set to the value of %%host%%, %s\n",zephyr->ourhost); +- g_stpcpy(zephyr->ourhostcanon,zephyr->ourhost); ++ g_strlcpy(zephyr->ourhostcanon, zephyr->ourhost, sizeof(zephyr->ourhostcanon)); + return; + } +- g_stpcpy(zephyr->ourhostcanon,hent->h_name); ++ ++ g_strlcpy(zephyr->ourhostcanon, hent->h_name, sizeof(zephyr->ourhostcanon)); ++ + return; + } + +diff -ruN gaim-0.81/src/util.c gaim-0.81-patched/src/util.c +--- gaim-0.81/src/util.c 2004-08-05 10:17:03.000000000 -0400 ++++ gaim-0.81-patched/src/util.c 2004-08-23 22:25:06.069418032 -0400 +@@ -2627,8 +2627,8 @@ + * if we make sure that there is indeed a \n in our header. + */ + if (p && g_strstr_len(p, data_len - (p - data), "\n")) { +- sscanf(p, "Content-Length: %d", (int *)&content_len); +- gaim_debug_misc("parse_content_len", "parsed %d\n", content_len); ++ sscanf(p, "Content-Length: %u", (int *)&content_len); ++ gaim_debug_misc("parse_content_len", "parsed %u\n", content_len); + } + + return content_len; +@@ -2752,7 +2752,14 @@ + + /* In with the new. */ + gfud->data_len = content_len; +- gfud->webdata = g_malloc(gfud->data_len); ++ gfud->webdata = g_try_malloc(gfud->data_len); ++ if (gfud->webdata == NULL) { ++ gaim_debug_error("gaim_url_fetch", "Failed to allocate %u bytes: %s\n", gfud->data_len, strerror(errno)); ++ gaim_input_remove(gfud->inpa); ++ close(sock); ++ gfud->callback(gfud->user_data, NULL, 0); ++ destroy_fetch_url_data(gfud); ++ } + } + else + gfud->newline = TRUE; +@@ -2839,11 +2846,18 @@ + static char buf[BUF_LEN]; + guint i, j = 0; + char *bum; ++ char hex[3]; + + g_return_val_if_fail(str != NULL, NULL); + ++ /* ++ * XXX - This check could be removed and buf could be made ++ * dynamically allocated, but this is easier. ++ */ ++ if (strlen(str) >= BUF_LEN) ++ return NULL; ++ + for (i = 0; i < strlen(str); i++) { +- char hex[3]; + + if (str[i] != '%') + buf[j++] = str[i]; diff --git a/net-im/gaim/files/gaim-0.82cvs-gtkprefs-fix.patch b/net-im/gaim/files/gaim-0.82cvs-gtkprefs-fix.patch deleted file mode 100644 index c50f48395d17..000000000000 --- a/net-im/gaim/files/gaim-0.82cvs-gtkprefs-fix.patch +++ /dev/null @@ -1,27 +0,0 @@ -Index: src/gtkprefs.c -=================================================================== -RCS file: /cvsroot/gaim/gaim/src/gtkprefs.c,v -retrieving revision 1.199 -diff -u -p -r1.199 gtkprefs.c ---- src/gtkprefs.c 10 Aug 2004 12:57:41 -0000 1.199 -+++ src/gtkprefs.c 17 Aug 2004 00:42:38 -0000 -@@ -523,7 +523,7 @@ GtkTreePath *theme_refresh_theme_list() - - void theme_install_theme(char *path, char *extn) { - #ifndef _WIN32 -- gchar *command; -+ gchar *command, *escaped; - #endif - gchar *destdir; - gchar *tail; -@@ -544,7 +544,9 @@ void theme_install_theme(char *path, cha - * other platforms, if need be */ - if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) { - #ifndef _WIN32 -- command = g_strdup_printf("tar > /dev/null xzf \"%s\" -C %s", path, destdir); -+ escaped = g_shell_quote(path); -+ command = g_strdup_printf("tar > /dev/null xzf %s -C %s", escaped, destdir); -+ g_free(escaped); - #else - if(!wgaim_gz_untar(path, destdir)) { - g_free(destdir); diff --git a/net-im/gaim/files/gaim-0.82cvs-msn_object.diff b/net-im/gaim/files/gaim-0.82cvs-msn_object.diff deleted file mode 100644 index de7cec7de303..000000000000 --- a/net-im/gaim/files/gaim-0.82cvs-msn_object.diff +++ /dev/null @@ -1,29 +0,0 @@ -=================================================================== -RCS file: /cvsroot/gaim/gaim/src/protocols/msn/object.c,v -retrieving revision 1.3 -retrieving revision 1.4 -diff -u -r1.3 -r1.4 ---- gaim/gaim/src/protocols/msn/object.c 2004/08/19 01:13:58 1.3 -+++ gaim/gaim/src/protocols/msn/object.c 2004/08/22 17:31:37 1.4 -@@ -35,11 +35,18 @@ - if ((tag = strstr(str, id "=\"")) != NULL) \ - { \ - char buf[16]; \ -+ size_t offset; \ - tag += strlen(id "=\""); \ - c = strchr(tag, '"'); \ -- strncpy(buf, tag, c - tag); \ -- buf[c - tag] = '\0'; \ -- obj->field = atoi(buf); \ -+ if (c != NULL) \ -+ { \ -+ memset(buf, 0, sizeof(buf)); \ -+ offset = c - tag; \ -+ if (offset >= sizeof(buf)) \ -+ offset = sizeof(buf) - 1; \ -+ strncpy(buf, tag, offset); \ -+ obj->field = atoi(buf); \ -+ } \ - } - - static GList *local_objs; diff --git a/net-im/gaim/files/gaim-0.82cvs-novell.diff b/net-im/gaim/files/gaim-0.82cvs-novell.diff deleted file mode 100644 index dc951dad942c..000000000000 --- a/net-im/gaim/files/gaim-0.82cvs-novell.diff +++ /dev/null @@ -1,135 +0,0 @@ -Index: nmevent.c -=================================================================== -RCS file: /cvsroot/gaim/gaim/src/protocols/novell/nmevent.c,v -retrieving revision 1.5 -retrieving revision 1.6 -diff -u -d -p -r1.5 -r1.6 ---- nmevent.c 12 Jun 2004 15:13:29 -0000 1.5 -+++ nmevent.c 23 Aug 2004 18:55:36 -0000 1.6 -@@ -27,6 +27,8 @@ - #include "nmuserrecord.h" - #include "nmrtf.h" - -+#define MAX_UINT32 0xFFFFFFFF -+ - struct _NMEvent - { - -@@ -147,6 +149,8 @@ handle_receive_message(NMUser * user, NM - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -160,8 +164,9 @@ handle_receive_message(NMUser * user, NM - /* Read the message text */ - if (rc == NM_OK) { - rc = nm_read_uint32(conn, &size); -- if (rc == NM_OK) { -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; - -+ if (rc == NM_OK) { - msg = g_new0(char, size + 1); - rc = nm_read_all(conn, msg, size); - -@@ -265,6 +270,8 @@ handle_conference_invite(NMUser * user, - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -273,6 +280,8 @@ handle_conference_invite(NMUser * user, - /* Read the the message */ - if (rc == NM_OK) { - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - msg = g_new0(char, size + 1); - rc = nm_read_all(conn, msg, size); -@@ -340,6 +349,8 @@ handle_conference_invite_notify(NMUser * - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -390,6 +401,8 @@ handle_conference_reject(NMUser * user, - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -427,6 +440,8 @@ handle_conference_left(NMUser * user, NM - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -475,6 +490,8 @@ handle_conference_closed(NMUser * user, - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -513,6 +530,8 @@ handle_conference_joined(NMUser * user, - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -570,6 +589,8 @@ handle_typing(NMUser * user, NMEvent * e - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); -@@ -611,11 +632,11 @@ handle_status_change(NMUser * user, NMEv - - /* Read the status text */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { -- if (size > 0) { -- text = g_new0(char, size + 1); -- rc = nm_read_all(conn, text, size); -- } -+ text = g_new0(char, size + 1); -+ rc = nm_read_all(conn, text, size); - } - } - -@@ -649,6 +670,8 @@ handle_undeliverable_status(NMUser * use - - /* Read the conference guid */ - rc = nm_read_uint32(conn, &size); -+ if (size == MAX_UINT32) return NMERR_PROTOCOL; -+ - if (rc == NM_OK) { - guid = g_new0(char, size + 1); - rc = nm_read_all(conn, guid, size); - diff --git a/net-im/gaim/gaim-0.81-r3.ebuild b/net-im/gaim/gaim-0.81-r3.ebuild deleted file mode 100644 index 7b0c80ff984f..000000000000 --- a/net-im/gaim/gaim-0.81-r3.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-0.81-r3.ebuild,v 1.2 2004/08/23 19:33:17 rizzo Exp $ - -inherit flag-o-matic eutils gcc -use debug && inherit debug - -IUSE="nls perl spell nas debug crypt cjk gnutls silc evo krb4" - -DESCRIPTION="GTK Instant Messenger client" -HOMEPAGE="http://gaim.sourceforge.net/" -SRC_URI="mirror://sourceforge/gaim/${P}.tar.bz2" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="~x86 ~sparc ~amd64 ~ppc ~alpha ~ia64 ~mips ~hppa" - -DEPEND=">=x11-libs/gtk+-2.0 - >=dev-libs/glib-2.0 - nas? ( >=media-libs/nas-1.4.1-r1 ) - sys-devel/gettext - media-libs/libao - >=media-libs/audiofile-0.2.0 - perl? ( >=dev-lang/perl-5.8.2-r1 - !<dev-perl/ExtUtils-MakeMaker-6.17 ) - spell? ( >=app-text/gtkspell-2.0.2 ) - dev-libs/nss - gnutls? ( net-libs/gnutls ) - krb4? ( app-crypt/mit-krb5 ) - silc? ( >=net-im/silc-toolkit-0.9.12-r2 ) - evo? ( mail-client/evolution )" - -PDEPEND="crypt? ( >=x11-plugins/gaim-encryption-2.29 )" - -print_gaim_warning() { - ewarn - ewarn "If you are merging ${P} from an earlier version, you will need" - ewarn "to re-merge any plugins like gaim-encryption or gaim-snpp." - ewarn - ewarn "If you experience problems with gaim, file them as bugs with" - ewarn "Gentoo's bugzilla, http://bugs.gentoo.org. DO NOT report them" - ewarn "as bugs with gaim's sourceforge tracker, and by all means DO NOT" - ewarn "seek help in #gaim." - ewarn - ewarn "Be sure to USE=\"debug\" and include a backtrace for any seg" - ewarn "faults, see http://gaim.sourceforge.net/gdb.php for details on" - ewarn "backtraces." - ewarn - ewarn "Please read the gaim FAQ at http://gaim.sourceforge.net/faq.php" - ewarn - einfo - einfo "Note that we are now filtering all unstable flags in C[XX]FLAGS." - einfo - for TICKER in 1 2 3 4 5; do - # Double beep here. - echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null - echo -ne "\a" ; sleep 1 - done - sleep 3 -} - -pkg_setup() { - print_gaim_warning -} - -src_unpack() { - unpack ${A} - cd ${S} - use cjk && epatch ${FILESDIR}/gaim-0.76-xinput.patch - epatch ${FILESDIR}/syslog_fd_leak.diff - epatch ${FILESDIR}/gaim-0.82cvs-gtkprefs-fix.patch - cd ${S}/src/protocols/msn/ - epatch ${FILESDIR}/gaim-0.81_msn-slp.diff - cd ${S}/src/protocols/novell/ - epatch ${FILESDIR}/gaim-0.82cvs-novell.diff -} - -src_compile() { - # Stabilize things, for your own good - strip-flags - replace-flags -O? -O2 - - # -msse2 doesn't play nice on gcc 3.2 - [ "`gcc-version`" == "3.2" ] && filter-flags -msse2 - - local myconf - use perl || myconf="${myconf} --disable-perl" - use spell || myconf="${myconf} --disable-gtkspell" - use nls || myconf="${myconf} --disable-nls" - use nas && myconf="${myconf} --enable-nas" || myconf="${myconf} --disable-nas" - use evo || myconf="${myconf} --disable-gevolution" - use krb4 && myconf="${myconf} --with-krb4=/usr" - - if use gnutls ; then - myconf="${myconf} --with-gnutls-includes=/usr/include/gnutls" - myconf="${myconf} --with-gnutls-libs=/usr/lib" - else - myconf="${myconf} --enable-gnutls=no" - fi - - if use silc ; then - myconf="${myconf} --with-silc-includes=/usr/include/silc-toolkit" - myconf="${myconf} --with-silc-libs=/usr/lib" - fi - - myconf="${myconf} --with-nspr-includes=/usr/include/nspr" - myconf="${myconf} --with-nss-includes=/usr/include/nss" - myconf="${myconf} --with-nspr-libs=/usr/lib" - myconf="${myconf} --with-nss-libs=/usr/lib" - - econf ${myconf} || die "Configuration failed" - - emake || MAKEOPTS="${MAKEOPTS} -j1" emake || die "Make failed" -} - -src_install() { - make install DESTDIR=${D} || die "Install failed" - dodoc ABOUT-NLS AUTHORS COPYING HACKING INSTALL NEWS PROGRAMMING_NOTES README ChangeLog VERSION -} - -pkg_postinst() { - print_gaim_warning -} diff --git a/net-im/gaim/gaim-0.81-r4.ebuild b/net-im/gaim/gaim-0.81-r4.ebuild deleted file mode 100644 index a3a6941f780a..000000000000 --- a/net-im/gaim/gaim-0.81-r4.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-0.81-r4.ebuild,v 1.1 2004/08/23 21:26:17 rizzo Exp $ - -inherit flag-o-matic eutils gcc -use debug && inherit debug - -IUSE="nls perl spell nas debug crypt cjk gnutls silc evo krb4" - -DESCRIPTION="GTK Instant Messenger client" -HOMEPAGE="http://gaim.sourceforge.net/" -SRC_URI="mirror://sourceforge/gaim/${P}.tar.bz2" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="~x86 ~sparc ~amd64 ~ppc ~alpha ~ia64 ~mips ~hppa" - -DEPEND=">=x11-libs/gtk+-2.0 - >=dev-libs/glib-2.0 - nas? ( >=media-libs/nas-1.4.1-r1 ) - sys-devel/gettext - media-libs/libao - >=media-libs/audiofile-0.2.0 - perl? ( >=dev-lang/perl-5.8.2-r1 - !<dev-perl/ExtUtils-MakeMaker-6.17 ) - spell? ( >=app-text/gtkspell-2.0.2 ) - dev-libs/nss - gnutls? ( net-libs/gnutls ) - krb4? ( app-crypt/mit-krb5 ) - silc? ( >=net-im/silc-toolkit-0.9.12-r2 ) - evo? ( mail-client/evolution )" - -PDEPEND="crypt? ( >=x11-plugins/gaim-encryption-2.29 )" - -print_gaim_warning() { - ewarn - ewarn "If you are merging ${P} from an earlier version, you will need" - ewarn "to re-merge any plugins like gaim-encryption or gaim-snpp." - ewarn - ewarn "If you experience problems with gaim, file them as bugs with" - ewarn "Gentoo's bugzilla, http://bugs.gentoo.org. DO NOT report them" - ewarn "as bugs with gaim's sourceforge tracker, and by all means DO NOT" - ewarn "seek help in #gaim." - ewarn - ewarn "Be sure to USE=\"debug\" and include a backtrace for any seg" - ewarn "faults, see http://gaim.sourceforge.net/gdb.php for details on" - ewarn "backtraces." - ewarn - ewarn "Please read the gaim FAQ at http://gaim.sourceforge.net/faq.php" - ewarn - einfo - einfo "Note that we are now filtering all unstable flags in C[XX]FLAGS." - einfo - for TICKER in 1 2 3 4 5; do - # Double beep here. - echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null - echo -ne "\a" ; sleep 1 - done - sleep 3 -} - -pkg_setup() { - print_gaim_warning -} - -src_unpack() { - unpack ${A} - cd ${S} - use cjk && epatch ${FILESDIR}/gaim-0.76-xinput.patch - epatch ${FILESDIR}/syslog_fd_leak.diff - epatch ${FILESDIR}/gaim-0.82cvs-gtkprefs-fix.patch - epatch ${FILESDIR}/gaim-0.82cvs-msn_object.diff - cd ${S}/src/protocols/msn/ - epatch ${FILESDIR}/gaim-0.81_msn-slp.diff - cd ${S}/src/protocols/novell/ - epatch ${FILESDIR}/gaim-0.82cvs-novell.diff -} - -src_compile() { - # Stabilize things, for your own good - strip-flags - replace-flags -O? -O2 - - # -msse2 doesn't play nice on gcc 3.2 - [ "`gcc-version`" == "3.2" ] && filter-flags -msse2 - - local myconf - use perl || myconf="${myconf} --disable-perl" - use spell || myconf="${myconf} --disable-gtkspell" - use nls || myconf="${myconf} --disable-nls" - use nas && myconf="${myconf} --enable-nas" || myconf="${myconf} --disable-nas" - use evo || myconf="${myconf} --disable-gevolution" - use krb4 && myconf="${myconf} --with-krb4=/usr" - - if use gnutls ; then - myconf="${myconf} --with-gnutls-includes=/usr/include/gnutls" - myconf="${myconf} --with-gnutls-libs=/usr/lib" - else - myconf="${myconf} --enable-gnutls=no" - fi - - if use silc ; then - myconf="${myconf} --with-silc-includes=/usr/include/silc-toolkit" - myconf="${myconf} --with-silc-libs=/usr/lib" - fi - - myconf="${myconf} --with-nspr-includes=/usr/include/nspr" - myconf="${myconf} --with-nss-includes=/usr/include/nss" - myconf="${myconf} --with-nspr-libs=/usr/lib" - myconf="${myconf} --with-nss-libs=/usr/lib" - - econf ${myconf} || die "Configuration failed" - - emake || MAKEOPTS="${MAKEOPTS} -j1" emake || die "Make failed" -} - -src_install() { - make install DESTDIR=${D} || die "Install failed" - dodoc ABOUT-NLS AUTHORS COPYING HACKING INSTALL NEWS PROGRAMMING_NOTES README ChangeLog VERSION -} - -pkg_postinst() { - print_gaim_warning -} diff --git a/net-im/gaim/gaim-0.81-r2.ebuild b/net-im/gaim/gaim-0.81-r5.ebuild index 6482d04d828e..6cbf4919a6da 100644 --- a/net-im/gaim/gaim-0.81-r2.ebuild +++ b/net-im/gaim/gaim-0.81-r5.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-0.81-r2.ebuild,v 1.1 2004/08/17 01:32:04 rizzo Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-0.81-r5.ebuild,v 1.1 2004/08/24 13:52:14 rizzo Exp $ inherit flag-o-matic eutils gcc use debug && inherit debug @@ -68,9 +68,9 @@ src_unpack() { cd ${S} use cjk && epatch ${FILESDIR}/gaim-0.76-xinput.patch epatch ${FILESDIR}/syslog_fd_leak.diff - epatch ${FILESDIR}/gaim-0.82cvs-gtkprefs-fix.patch - cd src/protocols/msn/ - epatch ${FILESDIR}/gaim-0.81_msn-slp.diff + + # All security patches wrapped into one + epatch ${FILESDIR}/gaim-0.81-security2.diff } src_compile() { |