Age | Commit message (Collapse) | Author |
|
forward ABI to perl modules
|
|
Have a ignore_find_full method that is the one that all the new code
should be using and provide some working stubs for ignore_find and
ignore_find_noact.
|
|
This way we prevent the creation of duplicate ignores since the old code
skipped the ignore_find call when a pattern was specified.
It should also cover all the cases where the ignores would be wrongly
overwritten, such as the case outlined in #78.
|
|
Add explicit checks into every module to match the ABI version defined
in common.h
|
|
Rewrite some faulty logic handling the saved channels. Fixes #340
|
|
Just use cygwin.
This looks like it wasn't enough to do anything useful, and I don't
think anyone cares about supporting win32 the hard way.
|
|
Use g_strcmp0 instead of strcmp.
Explicit checks added for the g_strcmp0 clauses.
|
|
|
|
|
|
Issue #340 brought to our attention the fact that under certain
circumstances irssi would go on a wild rampage and carelessly overwrite
some saved channel records in the configuration file.
This happened because the code didn't take into account the case where
the channel index in setupchannels wouldn't match the one in the
configuration; this actually happens when the user removes a chatnet
without removing the associated channels.
|
|
A NULL-check has been added to the ignore_match_server macro, making the
function safe from a pointer perspective.
Fixes #193 in the meanwhile.
|
|
Fixes #99 for great good.
|
|
|
|
Fix #45 Make it easy to delete default channels, servers and networks
|
|
Fix invalid reads in strsplit_len when splitting on spaces
|
|
|
|
|
|
Fix warnings
|
|
The symptom for this one is randomly getting lines split before the last
word, even if there's no need for splitting. Also, this function is only
reached if recode is on, and iconv failed (for example, due to an
incorrect source charset). Thanks to vague for finding this and
providing valgrind logs.
The loop that looks for spaces tried to read backwards from the end of
the current line, with the end being determined by len. Assuming
strsplit_len() with len=400, this meant accessing str[399] in the first
iteration. For strings that don't need splitting, this means an invalid
read always.
If that invalid read happens to hit garbage that has a space character,
(len - offset) points after the end of string, which isn't a problem for
g_strndup() since it stops at the first null, and no splitting happens.
If the garbage doesn't have any spaces, it splits by the last word.
This commit avoids that loop entirely if (remaining_len > len). It also
changes the way it iterates over the string to be much less confusing.
|
|
Turns out it was fixing the wrong string, and trying to do
atoi("RECON-1") instead of atoi("1").
"/reconnect 1" worked, but "/reconnect RECON-1" gave that confusing
error message.
|
|
|
|
Silence a warning and make the world a better place.
|
|
Lemon broke it a few commits ago.
|
|
Fix a memory leak.
|
|
Given a big enough write_buffer_size and a long enough
write_buffer_timeout it might be possible to show the user an incomplete
or empty awaylog.
Patch by: Petteri Aimonen
|
|
g_get_current_dir() returns a heap-allocated string.
|
|
|
|
Removing network will also remove attached channels
|
|
Removing network will now also remove all attached servers
|
|
|
|
Add new setting to modify behaviour of hilight_nick_matches to match anywhere in message
Fixes #56
|
|
|
|
|
|
Fix indentation
Remove unused variables that crept into the nick_match_msg_everywhere function
|
|
|
|
|
|
Ip's aren't selected using random() anymore, also select the ip version
by using getaddrinfo and some proper hints.
|
|
|
|
The only supported methods are PLAIN and EXTERNAL, the latter is untested as of
now.
The code gets the values from the keys named sasl_{mechanism,username,password}
specified for each chatnet.
|
|
Implement CHANTYPES support
|
|
irc-cap.c has now a licence header.
A minor style fix in misc.c
|
|
|
|
|
|
Make config parser more robust
|
|
Change all strcmp() to g_strcmp0() to handle nulls gracefully
|
|
and warn when no cipher suite could be selected.
|
|
|
|
Just a string replacement (but i did check every one of them)
sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
|
|
|
|
this adds the CONFIG_REC * to the config_node_section and
config_node_section_index APIs as they will require access to the config
cache later on to make the config parser more robust.
|