summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2016-05-13Move utf8.{h,c} from fe-common/core to core.Xavier G
2016-04-07net_gethosterror: Handle EAI_SYSTEM ("System error") properlydequis
That error code means "check errno". A few users got it and we never figured out what happened - it usually fixed itself after restarting something - so hopefully with this we'll have more information the next time.
2016-03-22Simplify some logic in server_create_connLemonBoy
2016-03-19Throw an error when a chatnet has no available urlLemonBoy
If you type /connect <CN> and the chatnet <CN> has no url available let's just throw an error instead of trying to process <CN> as a url.
2016-03-17Merge pull request #439 from horgh/ssl-errorsTheLemonMan
Clear error queue before SSL I/O operations
2016-03-14Replace spaces with tabsKindOne
2016-03-14Return -1 from null-test to comply with the rest of strarray_findJari Matilainen
2016-03-13Add clear error calls to irssi_ssl_get_iochannelWill Storey
2016-03-13Clear error queue before SSL I/O operationsWill Storey
Otherwise we can see errors that are not related to the operation we check for. SSL_get_error() inspects the thread's error queue. See https://www.openssl.org/docs/manmaster/ssl/SSL_get_error.html for more information.
2016-02-03Merge pull request #410 from LemonBoy/getaddrinfo-v6-flagailin-nemui
Getaddrinfo v6 flag
2016-01-27Add AI_ADDRCONFIG to the getaddrinfo hints.LemonBoy
A first step to untangle the ipv4 vs ipv6 mess. At the time of writing Linux, OpenBSD and FreeBSD all support the AI_ADDRCONFIG flag.
2016-01-27Call getnameinfo with NI_NAMEREQD flag.LemonBoy
This way net_gethostbyaddr will fail when the system is unable to resolve the address to a valid host name. Without this flag in case of failure the function would return the ip address instead of failing.
2016-01-27Minor style fix in net_ip2host.LemonBoy
2016-01-27Delete the HAVE_IPV6 ifdef.LemonBoy
Welcome to the future.
2016-01-24Duplicate the code paths for autocommands.LemonBoy
2016-01-14Change when the autocmds are sent.LemonBoy
As per #175 if a -botcmd is specified for a given channel without a -bots parameter then the command is sent right after joining the channel.
2016-01-11Merge pull request #393 from ailin-nemui/moduleversion-perlailin-nemui
forward ABI to perl modules
2016-01-03Don't break the API.LemonBoy
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.
2016-01-03Clean up the ignore_find API to make it more powerful.LemonBoy
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.
2015-12-10module check irssi versionailin-nemui
Add explicit checks into every module to match the ABI version defined in common.h
2015-12-09Merge pull request #371 from LemonBoy/rampageailin-nemui
Rewrite some faulty logic handling the saved channels. Fixes #340
2015-12-09Remove all WIN32 ifdefs (unifdef -UWIN32)dequis
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.
2015-12-09Minor adjustments.LemonBoy
Use g_strcmp0 instead of strcmp. Explicit checks added for the g_strcmp0 clauses.
2015-12-09Rewrite some faulty logic handling the saved servers.LemonBoy
2015-12-09Better function namingLemonBoy
2015-12-09Rewrite some faulty logic handling the saved channels.LemonBoy
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.
2015-11-22Let ignore_check do its work when server is NULLLemonBoy
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.
2015-11-09Strip the trailing whitespace from /join commands.LemonBoy
Fixes #99 for great good.
2015-11-09Add an option to strip trailing whitespace when parsing commandsLemonBoy
2015-11-09Merge pull request #313 from isundil/masterailin-nemui
Fix #45 Make it easy to delete default channels, servers and networks
2015-11-09Merge pull request #341 from dequis/strsplit-len-fixailin-nemui
Fix invalid reads in strsplit_len when splitting on spaces
2015-11-09strsplit_len: make it look more like the original versiondequis
2015-11-09strsplit_len: use strlen() directly instead of a remaining_len variabledequis
2015-11-01Merge pull request #320 from irssi/ahf/add-setting-type-anydx
Fix warnings
2015-10-23Fix invalid reads in strsplit_len when splitting on spacesdequis
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.
2015-10-08Fix /reconnect RECON-1 saying "Reconnection tag 1 not found"dequis
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.
2015-10-03Add SETTING_TYPE_ANY and replace -1 with it.Alexander Færøy
2015-10-03Include write-buffer.h in log-away.cLemonBoy
Silence a warning and make the world a better place.
2015-10-02Add missing null terminator to the g_build_path() varargsdequis
Lemon broke it a few commits ago.
2015-10-02Merge pull request #316 from LemonBoy/fix_mem_leakGeert Hauwaerts
Fix a memory leak.
2015-10-02Flush the dirty buffer to diskLemonBoy
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
2015-10-02Fix a memory leak.LemonBoy
g_get_current_dir() returns a heap-allocated string.
2015-10-01Fix return value of server_setup_remove_chatnetisundil
2015-10-01Updated server removalisundil
Removing network will also remove attached channels
2015-10-01Fix #45 Make it easy to delete default channels, servers and networksisundil
Removing network will now also remove all attached servers
2015-09-24Added functionality to create dir if dir specified in rawlog filenameJari Matilainen
2015-09-23Merge pull request #297 from vague666/hilight_nick_matchesailin-nemui
Add new setting to modify behaviour of hilight_nick_matches to match anywhere in message Fixes #56
2015-09-22Fix return value from nick_match_msg_everywhere, remove #include 'settings.h'Jari Matilainen
2015-09-22Fix return value from nick_match_msg_everywhereJari Matilainen
2015-09-22Add new setting to optionally modify behaviour of hilight_nick_matchesJari Matilainen
Fix indentation Remove unused variables that crept into the nick_match_msg_everywhere function