aboutsummaryrefslogtreecommitdiffstats
path: root/otr.c
Commit message (Collapse)AuthorAgeLines
* Add quotations around <answer> and <secret> in the otr docsTroy Sankey2017-10-04-2/+2
| | | | | The user doesn't otherwise know how to type answers or secrets containing spaces.
* Change some asserts into g_return_if_fail()dequis2016-12-26-1/+1
| | | | | | Because crashing asserts are bad, and maybe this helps fix the captures_build_path issue with debian's reproducible builds (those asserts probably include __FILE__)
* Improve support for protocols which don't require a passworddequis2016-11-13-2/+2
| | | | | | This adds a prpl_options_t enum with flags, which mostly just brings OPT_PROTO_{NO_PASSWORD,PASSWORD_OPTIONAL} from libpurple as PRPL_OPT_{NO_PASSWORD,PASSWORD_OPTIONAL}
* otr: word_wrap long system messages ("unencrypted message received")dequis2016-11-11-1/+5
|
* Implemented plugin information for external pluginsjgeboski2016-05-25-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of now, bitlbee will load any plugin regardless of the ABI it was built against. This is really problematic when structures or symbols are changed within bitlbee. This often leads to the plugin not loading or the plugin acting in an undefined way. Typically a simple rebuild of the plugin will resolve such issues, but many users have no idea that this is required after they have updated bitlbee. Furthermore, it is often times impossible to determine the version of a plugin, without relying on the package manager of the system. This is quite a problem when users are reporting bugs for external plugins, and they have no idea what version of the plugin they are running. This is also an opportunity to provide additional metadata for each plugin that can then be displayed to the user. Solving these issues is done by adding a new required function to each plugin. The init_plugin_info() function must now be implemented along with the init_plugin() function. This function then returns a static structure, which retains all of the metadata for the plugin. Then this is used by bitlbee to check the ABI version and provide information to the user. The introduction of the new function is required as bitlbee needs to obtain the ABI version before calling init_plugin(). The boiler-plate implementation of init_plugin_info(): #ifdef BITLBEE_ABI_VERSION_CODE struct plugin_info *init_plugin_info(void) { static struct plugin_info info = { BITLBEE_ABI_VERSION_CODE, /* Required */ "plugin-name", /* Required */ "1.3.3.7", /* Required */ "A short description of the plugin", /* Optional */ "First Last <alias@domain.tld>", /* Optional */ "http://www.domain.tld" /* Optional */ }; return &info; } #endif The example wraps the function declaration in an if block for backwards compatibility with older bitlbee versions. Displaying the plugin metadata is done via the newly added "plugins" command, which simply dumps formatted data to the root channel.
* misc.c: Add a str_reject_chars function, use it in otr_filter_colorsdequis2015-11-27-8/+3
|
* otr_filter_colors: Also remove \x02 (irc bold)dequis2015-11-07-1/+1
|
* Do not use NOTICE for OTR messages for a given userMischa S2015-11-07-2/+2
| | | | Because they are very very easily lost. Changing to PRIVMSG
* Add a per-user version of OPT_NOOTR, BEE_USER_NOOTRdequis2015-10-21-2/+4
|
* otr: fix trailing whitespace issues with 'otr forget key'dequis2015-10-13-0/+3
| | | | Fixes trac ticket 1089, https://bugs.bitlbee.org/bitlbee/ticket/1089
* otr: add otr_filter_colors, replaces '\x03' with '?' for "security"dequis2015-08-11-2/+16
| | | | | | | | | | | | | Fixes trac ticket 835, "an attacker can spoof color codes" Which had "major" priority, and was open for a few years. Yeah. Every time I looked at that ticket I thought about lowering the priority, but then saw that pesco opened the bug. Welp. Anyway, it's gone now. Yay.
* otr: color multiline messagesdequis2015-08-11-24/+51
| | | | | | | | | | | Fixes trac ticket 710. Incoming messages can have newlines in them, which become several PRIVMSG on the irc layer. Prepending color codes at the beginning of the message resulted in showing the rest of those PRIVMSG as white. This splits the message by newlines and rebuilds it in a GString, re-adding the color codes right after each newline.
* typofix - https://github.com/vlajos/misspell_fixerVeres Lajos2015-08-07-1/+1
|
* otr: Fix 'otr info' display problemsdequis2015-05-15-46/+86
| | | | Patch by 'anonymous' from trac ticket 1150.
* Fix a bunch of memory leaksdequis2015-03-22-3/+12
| | | | | | | | | | | | | | | | | | | - irc_im.c: - bee_irc_user_msg: strdup leaks when otr swallows messages - bee_irc_user_action_response: GString leak in all ctcp replies - otr.c: - call g_slist_free() on the list of the otr_policy setting - otr_filter_msg_in: call otrl_tlv_free() if "tlvs" are returned - otr_filter_msg_out: don't g_strdup() if the message should be ignored - log_otr_message: g_strdup_vprintf() leaks always - nogaim.c: - imcb_ask_auth/imcb_ask_add: leaks in g_strdup_printf() - imcb_ask_add leaks imcb_ask_cb_data if the user already exists - add imcb_ask_cb_free() to correctly free its data - msn_util.c: add msn_buddy_ask_free(), ditto - storage_xml.c: pass_cr/password if base64_decode or arc_decode fail - ssl_gnutls.c: conn->hostname leak in error conditions, like invalid certs - jabber_util.c: jabber_buddy_by_ext_jid() leaks jid if it's not an ext jid
* Reindent everything to K&R style with tabsIndent2015-02-20-494/+542
| | | | | | | Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
* cmd_otr_keygen: improve argument parsingdequis2015-01-16-13/+4
|
* Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-3/+3
| | | | | | | | | | | This fixes warnings about passing signed chars to them (apparently they are implemented as macros that do array lookups without checks in some platforms, yay) Specifically: functions=isalnum|isalpha|isdigit|isspace|isxdigit|tolower|toupper sed -ir "s/$functions/g_ascii_&/g" **/*.c
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* fix 'otr connect' commandunknown2014-02-13-1/+11
|
* fix a segfault when otr-coloring /me messagesunknown2014-02-11-1/+2
|
* close otr connections on quit, add 'otr disconnect *' commandunknown2014-02-07-27/+47
|
* use OTRL_INSTAG_BEST instead of _RECENT to work around a segfault in libotrunknown2014-02-02-2/+5
|
* work around libotr 4 not sending outgoing plaintext messagesunknown2014-02-02-18/+12
|
* Merging fix from Flexo for #1109.Wilmer van der Gaast2014-01-20-4/+11
|
* log OTR heartbeats if set verboseunknown2013-08-03-1/+13
|
* cleanup and docsunknown2013-08-03-5/+12
|
* persist instags (also works around "malformed message" bug)unknown2013-08-03-1/+25
|
* do 'otr connect' with the proper query message (generated by libotr)unknown2013-08-02-1/+3
|
* timer cleanup and "other instance" error messageunknown2013-08-02-2/+8
|
* some more instag updatesunknown2013-08-02-6/+11
|
* use INSTAG_RECENT for outgoing messagesunknown2013-08-02-1/+3
|
* better workaround for libotr's NULL opdata bugunknown2013-08-02-6/+13
|
* regularly call otrl_message_pollunknown2013-08-02-1/+18
|
* implement otr_error_message callbackunknown2013-08-02-2/+22
|
* work around libotr bugsunknown2013-08-02-5/+10
|
* implement handle_msg_eventunknown2013-08-01-35/+102
|
* update smp event handlingunknown2013-08-01-137/+72
|
* move html coding and coloring into convert callbackunknown2013-08-01-83/+78
|
* make otr compile with libotr 4.0.0, minimal functionalitySven M. Hallberg2013-08-01-32/+49
|
* I'm still bored on a long flight. Wrote a script to automatically updateWilmer van der Gaast2013-02-21-1/+1
| | | | | | | my copyright mentions since some were getting pretty stale. Left files not touched since before 2012 alone so that this change doesn't touch almost EVERY source file.
* Fixing "oppurtunistic" typo.Wilmer van der Gaast2012-08-19-1/+1
|
* make sure we avoid file traversal in otr load/save functions (#853)unknown2011-11-26-32/+54
|
* otr: only skip coloring of leading /me if the message will go to a query windowunknown2011-10-03-3/+4
|
* send user-specific otr messages generated by us as notices from that userunknown2011-10-03-5/+11
|
* rename irc_usermsg to irc_rootmsg.unknown2011-10-03-110/+110
| | | | | | add new irc_usermsg, irc_usernotice. deliver user-specific messages from libotr as notices to that user.
* make libotr messages associated with a user appear from that nickunknown2011-10-01-1/+9
|
* don't put color code before leading /me when coloring otr messagesunknown2011-09-30-14/+26
|
* nix html-escaping in otr pluginunknown2011-09-21-7/+12
|
* report trust state in gone_secure/still_secure messagesSven Moritz Hallberg2011-06-29-4/+8
|