mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-09 17:23:13 +02:00
- Fixed yet another fun remote includes memory corruption crash bug due
to curl strangeness (took me 2 hours to trace down, great!).
This commit is contained in:
@@ -2991,3 +2991,5 @@ seen. gmtime warning still there
|
||||
- Cosmetic doc updates (#0001596) reported by HERZ.
|
||||
- Updated SSL error for underlying syscall error a bit (#0001615).
|
||||
- Minor doc updates on SSL (mIRC now supports SSL a bit).
|
||||
- Fixed yet another fun remote includes memory corruption crash bug due
|
||||
to curl strangeness (took me 2 hours to trace down, great!).
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
|
||||
<font size="4">Version: 3.2</font><br>
|
||||
<b>Current Version:</b> 3.2 RC1 *CVS*<br>
|
||||
<b>Last doc update:</b> 2004-03-03</div>
|
||||
<b>Last doc update:</b> 2004-03-04</div>
|
||||
<b>Head Coders:</b> Stskeeps / codemastr / Syzop / Luke / McSkaf<br>
|
||||
<b>Contributors:</b> Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk<br>
|
||||
<b>Documentation:</b> CKnight^ / Syzop<br>
|
||||
@@ -1877,7 +1877,7 @@ spamfilter {
|
||||
<p><b>regex</b> is the regex to be matched.<br>
|
||||
<b>target</b> specifies the targets, possible targets are: channel, private, private-notice, channel-notice,
|
||||
part, quit, dcc.<br>
|
||||
<b>action</b> specifies the action to be taken, possible values are: kill, tempshun, shun, kline, gline, zline, gzline, block<br>
|
||||
<b>action</b> specifies the action to be taken, see <a href="#feature_spamfilter">here</a> for a list of possible actions.<br>
|
||||
<b>reason</b> optional: specifies the ban or block reason, else the default is used.<br>
|
||||
<b>ban-time</b> optional: specifies the duration of a *line ban, else the default is used (1 day).<br>
|
||||
</p>
|
||||
|
||||
@@ -316,10 +316,11 @@ void url_do_transfers_async(void)
|
||||
char *url;
|
||||
long code;
|
||||
long last_mod;
|
||||
curl_easy_getinfo(msg->easy_handle, CURLINFO_RESPONSE_CODE, &code);
|
||||
curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, (char*)&handle);
|
||||
curl_easy_getinfo(msg->easy_handle, CURLINFO_EFFECTIVE_URL, &url);
|
||||
curl_easy_getinfo(msg->easy_handle, CURLINFO_FILETIME, &last_mod);
|
||||
CURL *easyhand = msg->easy_handle;
|
||||
curl_easy_getinfo(easyhand, CURLINFO_RESPONSE_CODE, &code);
|
||||
curl_easy_getinfo(easyhand, CURLINFO_PRIVATE, (char*)&handle);
|
||||
curl_easy_getinfo(easyhand, CURLINFO_EFFECTIVE_URL, &url);
|
||||
curl_easy_getinfo(easyhand, CURLINFO_FILETIME, &last_mod);
|
||||
fclose(handle->fd);
|
||||
#if defined(IRC_UID) && defined(IRC_GID)
|
||||
if (!loop.ircd_booted)
|
||||
@@ -347,8 +348,12 @@ void url_do_transfers_async(void)
|
||||
remove(handle->filename);
|
||||
}
|
||||
free(handle);
|
||||
curl_multi_remove_handle(multihandle, msg->easy_handle);
|
||||
curl_easy_cleanup(msg->easy_handle);
|
||||
curl_multi_remove_handle(multihandle, easyhand);
|
||||
/* NOTE: after curl_multi_remove_handle() you cannot use
|
||||
* 'msg' anymore because it has freed by curl (as of v7.11.0),
|
||||
* therefore 'easyhand' is used... fun! -- Syzop
|
||||
*/
|
||||
curl_easy_cleanup(easyhand);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user