aboutsummaryrefslogtreecommitdiffstats
path: root/bitlbee.h
Commit message (Collapse)AuthorAgeLines
* Prepare 3.5 release notesdequis2017-01-08-2/+2
|
* Added an interface for the listing of existing chatroomsjgeboski2016-09-19-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several protocols can provide a list of existing chatrooms that a user is able join. This is crucial for the usage of several protocols, most notably Purple and Facebook. Plugins wishing to support this extended functionality must implement the new prpl->chat_list() function. This implemented function will in most cases send a remote request for the list of chatrooms. Once the list of chatrooms is obtained, a bee_chat_info_t GSList must be created and assigned to the im_connection->chatlist field. Then a call to the bee_chat_list_finish() is needed to display the list to the user. The chat list is maintained entirely by the plugin, so it is important to ensure all pointers related to the chat list remain valid until the chat list is set to NULL. This list is used internally by bitlbee to calculate indexes, which then allows the user to join a chat with an index, rather than some random identifier. It also important to ensure the list is properly freed whenever it is updated, or when the account is disconnect via the prpl->logout() function. On the user interface side of things, the 'chat list' subcommand was recommissioned. For a user to list the existing chat rooms: chat list <account id> Afterwards a user can join a chatroom in the list with its index. This extends the functionality of the 'chat add' subcommand by adding in support for the exclamation point operator to denote an index. chat add <account id> !<index> [channel]
* Implemented plugin information for external pluginsjgeboski2016-05-25-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Authentication: scaffolding for multiple authentication backendsDennis Kaarsemaker2016-03-25-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Instead of always putting users passwords in XML files, allow site admins to configure a different authentication method to integrate authentication with other systems. This doesn't add any authentication backends yet, merely the scaffolding. Notably: - Password checking and loading/removing from storage has been decoupled. A new auth_check_pass function is used to check passwords. It does check against the configured storage first, but will handle the authentication backends as well. The XML storage merely signals that a user's password should be checked using an authentication backend. - If unknown-to-bitlbee users identify using an authentication backend, they are automatically registered. - If an authentication backend is used, that fact is stored in the XML file, the password is not. Passwords are also stored unencrypted in this case, as the password used to encrypt them can change underneath us. - configure and Makefile changes for the backend objects
* Prepare 3.4.2 release notesdequis2016-03-12-2/+2
|
* Avoid propagating shutdown signal to all subprocessesdequis2015-10-30-0/+2
| | | | | | | | | | | | | | | | | | | | This was a sort-of-regression with 7233f68 While this behavior might seem desirable in some cases, multi-user installs like public servers would rather not kill children while upgrading. Turns out that pipes are inherited by forks, and writing in one side means there might be more than one listener that calls bitlbee_shutdown(). If the parent gets it, the children will get it too. If a child gets it, the parent and the other children get it too. This adds a sighandler_shutdown_setup() function that closes any previously existing pipes and disconnects the events from them, to create a new one. This is called again after forking each child process. While I'm sure this fixes the issue, I still don't understand why it *didn't* kill the forked processes in some cases. Worrying.
* 3.4.1 release notesdequis2015-06-14-2/+2
|
* Remove some compatibility macros that referenced nonexistent functionsdequis2015-05-05-2/+0
|
* Prepare for 3.4 releasedequis2015-03-15-2/+2
|
* Reindent everything to K&R style with tabsIndent2015-02-20-31/+31
| | | | | | | 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.
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* RIP native win32 support (use cygwin instead)dequis2014-09-27-7/+0
| | | | It has been broken for a very long time and nobody cared about it.
* 3.2.2. Last revisions pretty much all done and/or merged by dx!3.2.2Wilmer van der Gaast2014-07-05-2/+2
|
* Fix BITLBEE_VERSION_CODE which I stupidly forgot to update for the 3.2.1Wilmer van der Gaast2013-12-05-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | release. Too bad r1000 for BitlBee is going to be this boring. :-( Flexo in #bitlbee suggested an ASCII cake for r1000, I'll go for this instead: {{{ + o + o + o + + o + o + + + + o o + o -_-_-_-_-_-_-_,------, o _-_-_-_-_-_-_-| /\_/\ -_-_-_-_-_-_-~|__( ^ .^) + + _-_-_-_-_-_-_-"" "" + o o + o + + o o o o + o + + + o o + }}} http://evilzone.org/creative-arts/nyan-cat-ascii/
* 3.2.1. About time, since Twitter have already deprecated HTTP/1.0 earlier3.2.1Wilmer van der Gaast2013-11-27-1/+1
| | | | | this month. :-(
* Preparing for 3.2 release, hopefully very soon.Wilmer van der Gaast2013-01-06-3/+3
|
* Yeah, sure, let's call this 3.0.6.3.0.6Wilmer van der Gaast2012-10-14-2/+2
|
* Shut up a flood of GLib-related compiler warnings.Wilmer van der Gaast2012-06-04-0/+5
|
* Set PACKAGE to BitlBee-LIBPURPLE for the libpurple variant, because in manyWilmer van der Gaast2012-05-02-1/+1
| | | | | ways it's not BitlBee and I'm tired of getting libpurple-related bug reports.
* 3.0.5. This is stable on testing for a while already, and 3.0.4 is getting3.0.5Wilmer van der Gaast2012-02-18-2/+2
| | | | | old by now.
* Wrap the external API in `extern "C"` if included in a C++ file.Alex Miller2011-12-18-0/+9
|
* Version 3.0.4, probably.3.0.4Wilmer van der Gaast2011-12-04-2/+2
|
* 3.0.3, hopefully ready. Time to roll the tarballs.3.0.3Wilmer van der Gaast2011-06-12-2/+2
|
* 3.0.2. Because it's about time.3.0.2Wilmer van der Gaast2011-03-07-1/+1
|
* Bump API version number because of the new CTCP stuff.Wilmer van der Gaast2011-01-08-1/+1
|
* Allow omitting the password argument to "account add", to then separatelyWilmer van der Gaast2010-11-22-0/+4
| | | | | | | | | enter the password using the /OPER command (which will not echo to the screen and/or logs). It's a fairly ugly hack but the improved password security is worth it IMHO.
* Preparing for 3.0.1, which will probably come soon.Wilmer van der Gaast2010-11-21-2/+2
|
* There. BitlBee 3.0, it was about time. :-)Wilmer van der Gaast2010-10-22-2/+2
|
* Merging mainline, which includes a huge msnp13 merge.Wilmer van der Gaast2010-10-02-2/+1
|\ | | | | | | | | | | Not 100% sure about the OpenSSL merge, should double check that but I'm currently offline.
| * Move whatsnew stuff into help.txt. Stop putting too much string contentWilmer van der Gaast2010-09-06-2/+1
| | | | | | | | | | into the executable.
* | Pluginify this thing a little bit. Not so much in the dynamically loadableWilmer van der Gaast2010-09-01-2/+0
| | | | | | | | | | sense of the word, more in a way that core files don't have to include otr.h.
* | Added root_command_add() and use it to create the "otr" command.Wilmer van der Gaast2010-08-31-0/+1
| |
* | First step in this merge. Mostly a bzr merge and then a cleanup of conflictsWilmer van der Gaast2010-08-24-0/+2
|\ \ | |/ |/| | | | | and parts I want to/have to redo (because of ui-fix).
| * merge with upstraem bitlbee 1.2.8Sven Moritz Hallberg2010-07-11-2/+2
| |\
| * \ merge in bitlbee 1.2.7Sven Moritz Hallberg2010-06-03-2/+2
| |\ \
| * \ \ merge in bitlbee 1.2.6Sven Moritz Hallberg2010-06-03-1/+4
| |\ \ \
| * \ \ \ merge in bitlbee 1.2.5Sven Moritz Hallberg2010-06-03-2/+3
| |\ \ \ \
| * \ \ \ \ merge in bitlbee 1.2.4Sven Moritz Hallberg2010-06-03-1/+1
| |\ \ \ \ \
| * \ \ \ \ \ pretty blind try at merging in the latest trunkSven Moritz Hallberg2009-03-12-0/+1
| |\ \ \ \ \ \
| * | | | | | | commit updates by ashish shukla <wahjava@gmail.com>Sven Moritz Hallberg2009-03-12-1/+4
| | | | | | | |
| * | | | | | | merge in latest trunkSven Moritz Hallberg2008-07-17-7/+9
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ merge in upstream changesSven Moritz Hallberg2008-02-16-2/+7
| |\ \ \ \ \ \ \ \
| * | | | | | | | | OTR support, first checkinSven Moritz Hallberg2008-02-03-0/+2
| | | | | | | | | |
* | | | | | | | | | Bump up the version number, and also copy bee.h to the public includeWilmer van der Gaast2010-08-02-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directory. This should fix compatibility with the Skype module (together with some changes there).
* | | | | | | | | | Merging mainline.Wilmer van der Gaast2010-07-17-2/+2
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | |
| * | | | | | | | | Ready for BitlBee 1.2.8.1.2.8Wilmer van der Gaast2010-07-04-2/+2
| | |_|_|_|_|_|_|/ | |/| | | | | | |
* | | | | | | | | First part of the handshake, including sending a file descriptor to theWilmer van der Gaast2010-07-06-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IPC master.
* | | | | | | | | Merging killerbee stuff, bringing all the bleeding-edge stuff together.Wilmer van der Gaast2010-06-07-1/+1
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Merging mainline.Wilmer van der Gaast2010-06-06-2/+2
| |\| | | | | | | |
| * | | | | | | | | Allow one to run the configure script from a different directory and put allWilmer van der Gaast2010-05-25-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build files in there. I need this to properly make Debian package variants (i.e. libpurple and native).