summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorDon Seiler <rizzo@gentoo.org>2004-08-24 13:52:15 +0000
committerDon Seiler <rizzo@gentoo.org>2004-08-24 13:52:15 +0000
commitd15d2c996c3dea131089a9794f5f0d57caaca7a6 (patch)
tree366fc0c2dc96b130a1ce0f65fe39d050c0f0f08d /net-im
parentVersion bump. (diff)
downloadhistorical-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/ChangeLog10
-rw-r--r--net-im/gaim/Manifest20
-rw-r--r--net-im/gaim/files/digest-gaim-0.81-r31
-rw-r--r--net-im/gaim/files/digest-gaim-0.81-r41
-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.diff331
-rw-r--r--net-im/gaim/files/gaim-0.82cvs-gtkprefs-fix.patch27
-rw-r--r--net-im/gaim/files/gaim-0.82cvs-msn_object.diff29
-rw-r--r--net-im/gaim/files/gaim-0.82cvs-novell.diff135
-rw-r--r--net-im/gaim/gaim-0.81-r3.ebuild123
-rw-r--r--net-im/gaim/gaim-0.81-r4.ebuild124
-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() {