From: <fac...@us...> - 2006-08-24 17:01:40
|
Revision: 17016 Author: faceprint Date: 2006-08-24 10:01:05 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=17016&view=rev Log Message: ----------- this ought to fix debian bug 384463 Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-08-24 16:38:30 UTC (rev 17015) +++ trunk/libgaim/util.c 2006-08-24 17:01:05 UTC (rev 17016) @@ -1853,7 +1853,7 @@ t++; } } - } else if (!g_ascii_strncasecmp(c, "ftp://", 6)) { + } else if (!g_ascii_strncasecmp(c, "ftp://", 6) || !g_ascii_strncasecmp(c, "sftp://", 7)) { t = c; while (1) { if (badchar(*t) || badentity(t)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-09-01 10:05:36
|
Revision: 17111 http://svn.sourceforge.net/gaim/?rev=17111&view=rev Author: thekingant Date: 2006-09-01 03:05:30 -0700 (Fri, 01 Sep 2006) Log Message: ----------- Fix two crashes that evands noticed in the Adium crash reporter. Basically what was happening is that our url fetching code saw a redirect, and then it did a second request for the redirected page. But whoever called gaim_util_fetch_url() in the first place still had a reference to the (now freed) url fetch data. The solution is to reuse the url fetch data structure for the redirect request. The Adium crash reporter is ill, yo. Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-09-01 08:52:23 UTC (rev 17110) +++ trunk/libgaim/util.c 2006-09-01 10:05:30 UTC (rev 17111) @@ -3078,7 +3078,8 @@ gaim_util_fetch_url_cancel(gfud); } -/* TODO: This totally destroys cancelability. */ +static void url_fetch_connect_cb(gpointer url_data, gint source, const gchar *error_message); + static gboolean parse_redirect(const char *data, size_t data_len, gint sock, GaimUtilFetchUrlData *gfud) @@ -3123,15 +3124,34 @@ gaim_debug_info("util", "Redirecting to %s\n", new_url); - /* Try again, with this new location. */ - gaim_util_fetch_url_request(new_url, full, gfud->user_agent, - gfud->http11, NULL, gfud->include_headers, - gfud->callback, gfud->user_data); + /* + * Try again, with this new location. This code is somewhat + * ugly, but we need to reuse the gfud because whoever called + * us is holding a reference to it. + */ + g_free(gfud->url); + gfud->url = new_url; + gfud->full = full; + g_free(gfud->request); + gfud->request = NULL; - /* Free the old connection */ - g_free(new_url); - gaim_util_fetch_url_cancel(gfud); + g_free(gfud->website.user); + g_free(gfud->website.passwd); + g_free(gfud->website.address); + g_free(gfud->website.page); + gaim_url_parse(new_url, &gfud->website.address, &gfud->website.port, + &gfud->website.page, &gfud->website.user, &gfud->website.passwd); + gfud->connect_data = gaim_proxy_connect(NULL, + gfud->website.address, gfud->website.port, + url_fetch_connect_cb, gfud); + + if (gfud->connect_data == NULL) + { + gaim_util_fetch_url_error(gfud, _("Unable to connect to %s"), + gfud->website.address); + } + return TRUE; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2006-09-18 15:07:17
|
Revision: 17310 http://svn.sourceforge.net/gaim/?rev=17310&view=rev Author: datallah Date: 2006-09-18 08:07:10 -0700 (Mon, 18 Sep 2006) Log Message: ----------- fix tyop Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-09-18 06:20:36 UTC (rev 17309) +++ trunk/libgaim/util.c 2006-09-18 15:07:10 UTC (rev 17310) @@ -2413,7 +2413,7 @@ gchar *filename_temp; filename_temp = g_strdup_printf("%s~", filename); - gaim_debug_error("util", "Error parsing file %s. Rrenaming old " + gaim_debug_error("util", "Error parsing file %s. Renaming old " "file to %s\n", filename_full, filename_temp); gaim_util_write_data_to_file(filename_temp, contents, length); g_free(filename_temp); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2006-11-01 07:30:13
|
Revision: 17647 http://svn.sourceforge.net/gaim/?rev=17647&view=rev Author: thekingant Date: 2006-10-31 23:29:53 -0800 (Tue, 31 Oct 2006) Log Message: ----------- sf patch #1588425, from Ka-Hing Cheung According to glib-doc, "a GError* must be initialized to NULL before passing its address to a function that can report errors." Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-01 05:53:09 UTC (rev 17646) +++ trunk/libgaim/util.c 2006-11-01 07:29:53 UTC (rev 17647) @@ -2376,7 +2376,7 @@ { const char *user_dir = gaim_user_dir(); gchar *filename_full; - GError *error; + GError *error = NULL; gchar *contents = NULL; gsize length; xmlnode *node = NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lsc...@us...> - 2006-11-10 14:31:03
|
Revision: 17733 http://svn.sourceforge.net/gaim/?rev=17733&view=rev Author: lschiere Date: 2006-11-10 06:30:45 -0800 (Fri, 10 Nov 2006) Log Message: ----------- (09:20:58) Err: LSchiere: http://garand.ipx.ath.cx/~jtb/gaim_inline_function.patch <-- this fixes the bug that Alver and I just discussed (09:21:07) Alver: Right, fixed it. (09:28:41) Err: it's a one-liner - it shouldn't break anything, ever (bold words) Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-10 13:53:04 UTC (rev 17732) +++ trunk/libgaim/util.c 2006-11-10 14:30:45 UTC (rev 17733) @@ -2577,7 +2577,7 @@ #endif } -inline gboolean +gboolean gaim_running_osx(void) { #if defined(__APPLE__) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ev...@us...> - 2006-11-11 20:29:41
|
Revision: 17738 http://svn.sourceforge.net/gaim/?rev=17738&view=rev Author: evands Date: 2006-11-11 12:29:35 -0800 (Sat, 11 Nov 2006) Log Message: ----------- * Patch from Christopher "cuberoot" to fix the repeated, CPU-intensive call loop on url_fetch_recv_cb() which was discussed on gaim-devl with the subject "Yahoo (and maybe others): gaim_util_fetch_url_request() at 100% CPU until complete with repeated EAGAIN". He writes: "When read() returns 0, that means eof... period. Don't check errno, don't collect $200. The loop was caused by eof condition when errno had previously been EAGAIN/EWOULDBLOCK. The CPU-bound loop stopped when errno happened to be overwritten. I also believe trying to use some/part of an HTTP request on ETIMEDOUT to be a mistake so I removed it. Funny enough the read(2) manpage doesn't document ETIMEDOUT as a possible errno, but it is. (see tcp_timer.c and tcp_subr.c in src/sys/netinet)." This closes Adium Trac ticket #5685. * Added some passing-NULL-to-printf() safety which has been sitting around in this file locally for a while, waiting for a worthwhile commit to accompany. Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-11 18:23:57 UTC (rev 17737) +++ trunk/libgaim/util.c 2006-11-11 20:29:35 UTC (rev 17738) @@ -3315,11 +3315,9 @@ } } - if(len <= 0) { + if(len < 0) { if(errno == EAGAIN) { return; - } else if(errno != ETIMEDOUT) { - got_eof = TRUE; } else { gaim_util_fetch_url_error(gfud, _("Error reading from %s: %s"), gfud->website.address, strerror(errno)); @@ -3327,7 +3325,7 @@ } } - if(got_eof) { + if((len == 0) || got_eof) { gfud->webdata = g_realloc(gfud->webdata, gfud->len + 1); gfud->webdata[gfud->len] = '\0'; @@ -3378,7 +3376,7 @@ if (source == -1) { gaim_util_fetch_url_error(gfud, _("Unable to connect to %s: %s"), - gfud->website.address, error_message); + (gfud->website.address ? gfud->website.address : ""), error_message); return; } @@ -3399,9 +3397,10 @@ "Accept: */*\r\n" "Host: %s\r\n\r\n", (gfud->full ? "" : "/"), - (gfud->full ? gfud->url : gfud->website.page), + (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), (gfud->http11 ? "1.1" : "1.0"), - gfud->user_agent, gfud->website.address); + (gfud->user_agent ? gfud->user_agent : ""), + (gfud->website.address ? gfud->website.address : "")); } else { gfud->request = g_strdup_printf( "GET %s%s HTTP/%s\r\n" @@ -3409,9 +3408,9 @@ "Accept: */*\r\n" "Host: %s\r\n\r\n", (gfud->full ? "" : "/"), - (gfud->full ? gfud->url : gfud->website.page), + (gfud->full ? (gfud->url ? gfud->url : "") : (gfud->website.page ? gfud->website.page : "")), (gfud->http11 ? "1.1" : "1.0"), - gfud->website.address); + (gfud->website.address ? gfud->website.address : "")); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rl...@us...> - 2006-11-19 05:56:08
|
Revision: 17776 http://svn.sourceforge.net/gaim/?rev=17776&view=rev Author: rlaager Date: 2006-11-18 21:56:07 -0800 (Sat, 18 Nov 2006) Log Message: ----------- Properly handle conversions of UTC timestamps when they are across the DST boundary from now. Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-18 05:53:07 UTC (rev 17775) +++ trunk/libgaim/util.c 2006-11-19 05:56:07 UTC (rev 17776) @@ -791,6 +791,10 @@ * if we know the UTC offset already. */ t->tm_isdst = 0; } + else if (utc) + { + t->tm_isdst = 0; + } if (rest != NULL && *c != '\0') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fac...@us...> - 2006-11-26 20:45:32
|
Revision: 17822 http://svn.sourceforge.net/gaim/?rev=17822&view=rev Author: faceprint Date: 2006-11-26 12:45:29 -0800 (Sun, 26 Nov 2006) Log Message: ----------- found this while setting up a unit testing framework (we're already reaping the benefits) Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2006-11-26 19:49:14 UTC (rev 17821) +++ trunk/libgaim/util.c 2006-11-26 20:45:29 UTC (rev 17822) @@ -118,7 +118,7 @@ len = strlen(str); g_return_val_if_fail(strlen(str) > 0, 0); - g_return_val_if_fail(len % 2 > 0, 0); + g_return_val_if_fail(len % 2 == 0, 0); data = g_malloc(len / 2); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dat...@us...> - 2007-03-06 20:09:18
|
Revision: 18199 http://svn.sourceforge.net/gaim/?rev=18199&view=rev Author: datallah Date: 2007-03-06 10:21:48 -0800 (Tue, 06 Mar 2007) Log Message: ----------- Fix an issue where url_fetch_recv_cb() can be triggered after we start to redirect. This causes the crashes reported in bugs like #1642430. Packagers will probably want to include this fix in any updated beta6 builds. Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2007-03-06 07:22:23 UTC (rev 18198) +++ trunk/libgaim/util.c 2007-03-06 18:21:48 UTC (rev 18199) @@ -3150,6 +3150,11 @@ g_free(gfud->request); gfud->request = NULL; + gaim_input_remove(gfud->inpa); + gfud->inpa = 0; + close(gfud->fd); + gfud->fd = 0; + g_free(gfud->website.user); g_free(gfud->website.passwd); g_free(gfud->website.address); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2007-03-10 21:29:05
|
Revision: 18201 http://svn.sourceforge.net/gaim/?rev=18201&view=rev Author: thekingant Date: 2007-03-10 13:29:04 -0800 (Sat, 10 Mar 2007) Log Message: ----------- Thanks Ka-Hing! Modified Paths: -------------- trunk/libgaim/util.c Modified: trunk/libgaim/util.c =================================================================== --- trunk/libgaim/util.c 2007-03-07 02:36:48 UTC (rev 18200) +++ trunk/libgaim/util.c 2007-03-10 21:29:04 UTC (rev 18201) @@ -3153,7 +3153,7 @@ gaim_input_remove(gfud->inpa); gfud->inpa = 0; close(gfud->fd); - gfud->fd = 0; + gfud->fd = -1; g_free(gfud->website.user); g_free(gfud->website.passwd); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |