summary refs log tree commit diff stats
path: root/src/common/plugin.c
AgeCommit message (Collapse)Author
2021-05-23plugin interface: Refactor "flags" option in "channels" list to be more ↵BakasuraRCE
clear with bit operators
2020-09-17Increase max number of words a line can be split intoPatrick Griffis
This may have unintended side-effects but 32 is a very low value and I was seeing real world bugs being caused by this. Specifically an ISUPPORT line with more features than this could store.
2020-05-02win32: Fix undefined symbol for builds with -with-plugin=falsedelthas
Windows builds without plugins can use notification-windows.c, which uses module_load in its notification_backend_init function. module_load was previously guarded with a USE_PLUGIN ifdef, but we do need this function for Windows builds even if plugins are disabled. This fixes a critical build issue for all Windows builds without plugins.
2018-03-31Fix plugins on macOSRainer Müller
The switch to the meson build system broke plugins on macOS. GNU libtool builds shared libraries with ".dylib" and shared modules (plugins) with the extension ".so", but meson is using ".dylib" for both. Although overriding the name_suffix for shared_module() in meson is possible, this would be messy for other platforms as there is no way to query the default. Therefore it seems like we have to go with ".dylib" for now on macOS. However, G_MODULE_SUFFIX is defined to ".so", because glib follows what GNU libtool does. Therefore define a separate preprocessor macro that has the correct extension. See: https://github.com/mesonbuild/meson/issues/1160
2018-03-11Fix fscanf() usage without size limitPatrick Griffis
Closes #2137
2018-03-09Remove mpcinfo pluginPatrick Griffis
The code quality of it is terrible, the user experience of using it is terrible, and it should have been removed years ago
2018-03-09Various fixes for mingwPatrick Griffis
2016-11-09Convert doat to an internal commandPatrick Griffis
- Trivial plugin - Useful for many users - Was under a dumb license
2016-09-03plugin: Add chanmodes to channels listPatrick Griffis
2016-08-05plugin: Fix return value of hexchat_pluginpref_get_int()Patrick Griffis
On failure it should always return -1, atoi() returns 0. Fixes #1785
2016-05-28Couple of minor const correctness fixesErik de Castro Lopo
2016-04-03lua: Build on win32Patrick Griffis
2016-03-30plugin: Fix padding for chanopts in channel flagsPatrick Griffis
This is an API break but it didn't really work properly before anyway. Fixes #1666
2016-02-18Fix strict prototype warningsPatrick Griffis
2015-04-07Fix possible overflow in pluginprefTingPing
Closes #1265
2015-02-04Implement windows 8.1+ notificationsTingPing
This splits notifications up into multiple backends currently only libnotify on unix and win8 toasts. The win8 backend was originally written by @leeter though heavily modified.
2015-02-02Only send utf8 string in Key Press eventTingPing
Fixes #869
2015-01-31Save iconv converters for input and output in the server.Arnavion
These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
2015-01-18Server line text-encoding-related fixes.Arnavion
- Handle server lines that contain sequences which are invalid in the server encoding. Previously, these would cause the whole line to be interpreted in ISO-8859-1, but now they're simply replaced with an appropriate replacement character. - Removed prefs.utf8_locale. - Change default server encoding from system locale to UTF-8. - Always populate server->encoding with a non-null value - UTF-8. Fixes #1198
2015-01-14Fixed bad const-cast.Arnavion
2014-12-31Fix some unused warningsTingPing
2014-12-28Fix building as c89TingPing
2014-12-28Use glib for all allocationsTingPing
- Removes need to check for malloc failure - Removes need for NULL checks on free - Adds checks for integer overflows - Removes some extra memset calls - Removes chance of mixing libc and glib malloc/free
2014-12-15Fixed some more signed-unsigned-comparison warnings.Arnavion
2014-12-11Fix some leaksTingPing
2014-12-06Always use 64-bit filesize and file offsets in DCC.Arnavion
Based on LRN's commit for replacing stat with GFileInfo https://github.com/hexchat/hexchat/commit/32008bb Fixes #382
2014-09-01Escape values set via pluginprefTingPing
Fixes #790
2014-07-28Fix various crashes with pluginprefTingPing
2014-06-04Stop hardcoding plugin extensions everywhereTingPing
2014-06-02Always use GModule for plugin supportTingPing
Also cleans up some dead code
2014-01-27Allow overriding libdirTingPing
2014-01-08Rewrite dns commandTingPing
- Cross platform - Doesn't depend on external tools
2013-11-28Print{,_attr} and server{,_attr} hooks were incorrectly handled when bothDiogo Sousa
version existed (regular and attrs). Specifically, the priority was not respected, and both versions were run even when EAT_PLUGIN was returned. Fixes #847.
2013-11-22Fix more warningsTingPing
2013-10-15Add remaining chanopts to plugin apiTingPing
In flags of get_list('channels')
2013-09-30Strip trailing space from pluginpref_list entriesTingPing
2013-09-30Fix crash in hexchat_pluginpref_list()TingPing
Set max output size to 4096
2013-09-07Add channelkey to channel listsTingPing
2013-08-04Add reload command for plugins and add to guiTingPing
2013-07-20Merge xchat r1525TingPing
Fixes possible crash
2013-07-13g_free() should be used for g_malloc().Diogo Sousa
2013-07-12Added functions to create/destroy event_attrs to plugin interface.Diogo Sousa
Function names were chosen to keep consistency with the rest of the API.
2013-07-12Added hexchat_emit_print_attrs() to plugin interface.Diogo Sousa
2013-07-10Indentation fixes and code cleanup.Diogo Sousa
2013-07-09Now hexchat_hook_server_attrs() and hexchat_hook_print_attrs() is calledDiogo Sousa
when it should. This should close #661.
2013-07-09Removed two dummy functions in plugin interface.Diogo Sousa
2013-07-09Added hexchat_hook_server_attrs() and hexchat_hook_print_attrs() to the pluginDiogo Sousa
interface. This hooks are similar to hexchat_hook_{server,print}() except the callback passes an extra argument with the (new) structure hexchat_event_attrs. This structure contains attributes related to the event; by now it only contains the server_time_utc member which is non-zero if server-time is enabled and the server used this extension to pass a timestamp. See issue #661. (Note: this hooks are still not called by hexchat in this commit.)
2013-06-23plugins: Implemented get_info("password") and re-added get_info("nickserv") ↵Arnavion
as an alias to that.
2013-06-13Use snprintfTingPing
2013-05-11Nuke nickserv password field and some cosmeticsBerke Viktor