forked from PsychoticNinja/irssi
Merge branch 'master' into regexex
This commit is contained in:
commit
1fc170ee11
18
NEWS
18
NEWS
@ -1,5 +1,23 @@
|
|||||||
v1.1-head 2017-xx-xx The Irssi team <staff@irssi.org>
|
v1.1-head 2017-xx-xx The Irssi team <staff@irssi.org>
|
||||||
|
|
||||||
|
v1.0.3 2017-06-06 The Irssi team <staff@irssi.org>
|
||||||
|
- Fix out of bounds read when scanning expandos (GL!11).
|
||||||
|
- Fix invalid memory access with quoted filenames in DCC
|
||||||
|
(GL#8, GL!12).
|
||||||
|
- Fix null-pointer dereference on DCC without address (GL#9, GL!13).
|
||||||
|
- Improve integer overflow handling. Originally reported by
|
||||||
|
oss-fuzz#525 (#706).
|
||||||
|
- Improve nicklist performance from O(N^2) to O(N) (#705).
|
||||||
|
- Fix initial screen redraw delay. By Stephen Oberholtzer
|
||||||
|
(#680, bdo#856201).
|
||||||
|
- Fix incorrect reset of true colours when resetting background. (#711).
|
||||||
|
- Fix missing -notls option in /SERVER. By Jari Matilainen (#117, #702).
|
||||||
|
- Fix minor history glitch on overcounter (#462, #685).
|
||||||
|
- Improved OpenSSL detection at compile time. By Rodrigo Rebello (#677).
|
||||||
|
- Improved NetBSD Terminfo detection. By Maya Rashish (#694, #698).
|
||||||
|
- Add missing syntax info for COMPLETION (#687, #688).
|
||||||
|
- Minor typo correction in help. By Michael Hansen (#707).
|
||||||
|
|
||||||
v1.0.2 2017-03-10 The Irssi team <staff@irssi.org>
|
v1.0.2 2017-03-10 The Irssi team <staff@irssi.org>
|
||||||
- Prevent some null-pointer crashes (GL!9).
|
- Prevent some null-pointer crashes (GL!9).
|
||||||
- Fix compilation with OpenSSL 1.1.0 (#628, #597).
|
- Fix compilation with OpenSSL 1.1.0 (#628, #597).
|
||||||
|
@ -24,11 +24,15 @@
|
|||||||
|
|
||||||
%9Remarks:%9
|
%9Remarks:%9
|
||||||
|
|
||||||
Not all networks support server-side filtering and may provide a network
|
Not all networks support server-side filtering. Some provide a network
|
||||||
service or service bot instead; on IRCnet, you may use the List service:
|
service or service bot instead; on IRCnet, you may use the List service:
|
||||||
|
|
||||||
/SQUERY List HELP
|
/SQUERY Alis HELP
|
||||||
/MSG ALIS HELP
|
|
||||||
|
Other networks with service bots (like ChanServ) may also provide a list
|
||||||
|
service bot (confirm with /WHOIS ALIS):
|
||||||
|
|
||||||
|
/MSG Alis HELP
|
||||||
|
|
||||||
%9See also:%9 STATS, SQUERY, WHOIS
|
%9See also:%9 STATS, SQUERY, WHOIS
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ static void dcc_error_close_not_found(const char *type, const char *nick,
|
|||||||
g_return_if_fail(fname != NULL);
|
g_return_if_fail(fname != NULL);
|
||||||
if (g_ascii_strcasecmp(type, "GET") != 0) return;
|
if (g_ascii_strcasecmp(type, "GET") != 0) return;
|
||||||
|
|
||||||
if (fname == '\0') fname = "(ANY)";
|
if (fname == NULL || *fname == '\0') fname = "(ANY)";
|
||||||
printformat(NULL, NULL, MSGLEVEL_DCC,
|
printformat(NULL, NULL, MSGLEVEL_DCC,
|
||||||
IRCTXT_DCC_GET_NOT_FOUND, nick, fname);
|
IRCTXT_DCC_GET_NOT_FOUND, nick, fname);
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ static void dcc_error_close_not_found(const char *type, const char *nick,
|
|||||||
g_return_if_fail(fname != NULL);
|
g_return_if_fail(fname != NULL);
|
||||||
if (g_ascii_strcasecmp(type, "SEND") != 0) return;
|
if (g_ascii_strcasecmp(type, "SEND") != 0) return;
|
||||||
|
|
||||||
if (fname == '\0') fname = "(ANY)";
|
if (fname == NULL || *fname == '\0') fname = "(ANY)";
|
||||||
printformat(NULL, NULL, MSGLEVEL_DCC,
|
printformat(NULL, NULL, MSGLEVEL_DCC,
|
||||||
IRCTXT_DCC_SEND_NOT_FOUND, nick, fname);
|
IRCTXT_DCC_SEND_NOT_FOUND, nick, fname);
|
||||||
}
|
}
|
||||||
|
@ -590,27 +590,30 @@ GList *textbuffer_find_text(TEXT_BUFFER_REC *buffer, LINE_REC *startline,
|
|||||||
pre_line = line;
|
pre_line = line;
|
||||||
for (i = 0; i < before; i++) {
|
for (i = 0; i < before; i++) {
|
||||||
if (pre_line->prev == NULL ||
|
if (pre_line->prev == NULL ||
|
||||||
g_list_find(matches, pre_line->prev) != NULL)
|
g_list_nth_data(matches, 0) == pre_line->prev ||
|
||||||
|
g_list_nth_data(matches, 1) == pre_line->prev)
|
||||||
break;
|
break;
|
||||||
pre_line = pre_line->prev;
|
pre_line = pre_line->prev;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; pre_line != line; pre_line = pre_line->next)
|
for (; pre_line != line; pre_line = pre_line->next)
|
||||||
matches = g_list_append(matches, pre_line);
|
matches = g_list_prepend(matches, pre_line);
|
||||||
|
|
||||||
match_after = after;
|
match_after = after;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line_matched || match_after > 0) {
|
if (line_matched || match_after > 0) {
|
||||||
/* matched */
|
/* matched */
|
||||||
matches = g_list_append(matches, line);
|
matches = g_list_prepend(matches, line);
|
||||||
|
|
||||||
if ((!line_matched && --match_after == 0) ||
|
if ((!line_matched && --match_after == 0) ||
|
||||||
(line_matched && match_after == 0 && before > 0))
|
(line_matched && match_after == 0 && before > 0))
|
||||||
matches = g_list_append(matches, NULL);
|
matches = g_list_prepend(matches, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
matches = g_list_reverse(matches);
|
||||||
|
|
||||||
if (preg != NULL)
|
if (preg != NULL)
|
||||||
i_regex_unref(preg);
|
i_regex_unref(preg);
|
||||||
g_string_free(str, TRUE);
|
g_string_free(str, TRUE);
|
||||||
|
@ -382,6 +382,8 @@ int get_file_params_count(char **params, int paramcount)
|
|||||||
if (*params[0] == '"') {
|
if (*params[0] == '"') {
|
||||||
/* quoted file name? */
|
/* quoted file name? */
|
||||||
for (pos = 0; pos < paramcount-3; pos++) {
|
for (pos = 0; pos < paramcount-3; pos++) {
|
||||||
|
if (strlen(params[pos]) == 0)
|
||||||
|
continue;
|
||||||
if (params[pos][strlen(params[pos])-1] == '"' &&
|
if (params[pos][strlen(params[pos])-1] == '"' &&
|
||||||
get_params_match(params, pos+1))
|
get_params_match(params, pos+1))
|
||||||
return pos+1;
|
return pos+1;
|
||||||
@ -428,6 +430,10 @@ static void ctcp_msg_dcc_send(IRC_SERVER_REC *server, const char *data,
|
|||||||
int p_id = -1;
|
int p_id = -1;
|
||||||
int passive = FALSE;
|
int passive = FALSE;
|
||||||
|
|
||||||
|
if (addr == NULL) {
|
||||||
|
addr = "";
|
||||||
|
}
|
||||||
|
|
||||||
/* SEND <file name> <address> <port> <size> [...] */
|
/* SEND <file name> <address> <port> <size> [...] */
|
||||||
/* SEND <file name> <address> 0 <size> <id> (DCC SEND passive protocol) */
|
/* SEND <file name> <address> 0 <size> <id> (DCC SEND passive protocol) */
|
||||||
params = g_strsplit(data, " ", -1);
|
params = g_strsplit(data, " ", -1);
|
||||||
|
@ -62,6 +62,8 @@ int get_file_params_count_resume(char **params, int paramcount)
|
|||||||
if (*params[0] == '"') {
|
if (*params[0] == '"') {
|
||||||
/* quoted file name? */
|
/* quoted file name? */
|
||||||
for (pos = 0; pos < paramcount-2; pos++) {
|
for (pos = 0; pos < paramcount-2; pos++) {
|
||||||
|
if (strlen(params[pos]) == 0)
|
||||||
|
continue;
|
||||||
if (params[pos][strlen(params[pos])-1] == '"' &&
|
if (params[pos][strlen(params[pos])-1] == '"' &&
|
||||||
get_params_match_resume(params, pos+1))
|
get_params_match_resume(params, pos+1))
|
||||||
return pos+1;
|
return pos+1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user