aboutsummaryrefslogtreecommitdiffstats
path: root/irc.h
Commit message (Collapse)AuthorAgeLines
* Merge branch 'master' into patched-masterMarius Halden2018-04-19-4/+4
|\
| * irc.h: Add G_GNUC_PRINTF annotations to printf-like functionsdequis2018-02-11-4/+4
| | | | | | | | | | The change in root_commands.c is due to -Wformat-zero-length, which is bs but whatever. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47901
* | Merge branch 'master' into patched-masterMarius Halden2017-04-07-0/+2
|\|
| * Add PROXY command. Not actually an IRC protocol command, it's a HAProxyWilmer van der Gaast2017-04-06-0/+3
| | | | | | | | | | trick supported by stunnel to indicate where the connection originally came from. Looks a little better on public servers.
* | Merge branch 'master' into patched-masterMarius Halden2016-11-12-0/+1
|\|
| * otr: word_wrap long system messages ("unencrypted message received")dequis2016-11-11-0/+1
| |
* | Add autosave after 30 secMarius Halden2016-08-02-0/+1
| |
* | Add support for multiple accounts in set accountMarius Halden2016-05-07-1/+1
| | | | | | | | | | | | | | | | | | The set account for control channels is now a comma separeted list of accounts instead of just one. If the user changes the tag of an accounts trough `account <id> set tag <new_tag>`, the account set will be updated to reflect this change for all relevant channels. If an account is removed trough `account <id> delete` it will be removed from the account set for all relevant channels.
* | Revert "Add support for multiple accounts in set account"Marius Halden2016-05-07-1/+1
| | | | | | | | This reverts commit 56fd7212a75237669de37589fc18e2e02444b3d2.
* | Fix build for patched-masterMarius Halden2016-05-07-0/+1
| |
* | Add support for multiple accounts in set accountMarius Halden2016-05-07-1/+1
| | | | | | | | | | | | | | | | | | The set account for control channels is now a comma separeted list of accounts instead of just one. If the user changes the tag of an accounts trough `account <id> set tag <new_tag>`, the account set will be updated to reflect this change for all relevant channels. If an account is removed trough `account <id> delete` it will be removed from the account set for all relevant channels.
* | Revert "Better handling of set account"Marius Halden2016-05-07-3/+1
| | | | | | | | This reverts commit 8ad3c8517ecb1d9ac7cf04236f8634c16b9adde0.
* | Better handling of set accountMarius Halden2016-05-07-1/+3
| |
* | Rename irc_send_msg*_tagged to irc_send_tagged_msg* and remove some codeMarius Halden2016-05-07-3/+6
| | | | | | | | duplication
* | Add authmode saslMarius Halden2016-05-07-0/+1
| | | | | | | | | | New AuthMode sasl added, when this is used all users have to authenticate with sasl.
* | Add server-time capabilityMarius Halden2016-05-07-0/+1
| |
* | Add support for message tags in irc_send_msg*Marius Halden2016-05-07-0/+3
| |
* | Fix some headers for sslMarius Halden2016-05-07-4/+8
| |
* | Start adding ssl supportMarius Halden2016-05-07-0/+11
| |
* | Add support for changing root/user mode to any supportedMarius Halden2016-05-07-1/+2
| |
* | Add support for owner/admin channel modesMarius Halden2016-05-07-4/+6
|/
* Authentication: scaffolding for multiple authentication backendsDennis Kaarsemaker2016-03-25-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* IRCv3 userhost-in-names capabilitydequis2015-12-05-0/+1
| | | | Easiest part of ircv3.2
* IRCv3 away-notify capabilitydequis2015-11-20-0/+2
| | | | | | | | | | | Neat lightweight notifications of the awayness of contacts. In practice, this means weechat/hexchat users can see away people in their nick list and change show_users to 'online,special,away' to avoid the mode spam completely. These are also sent on online/offline changes, since offline_user_quits can be turned off, and you'd need something when they come back.
* IRCv3 extended-join capabilitydequis2015-11-08-0/+1
| | | | | | Not very useful for the account features (and i won't implement account-notify), but it has a real name field, and it's *really* easy to implement.
* IRC self-message support (messages sent by yourself from other clients)dequis2015-10-30-0/+1
| | | | | | | | | | | | | | | | | | | | | | This adds an OPT_SELFMESSAGE flag that can be passed to imcb_buddy_msg() or imcb_chat_msg() to indicate that the protocol knows that the message being sent is a self message. This needs to be explicit since the old behavior is to silently drop these messages, which also removed server echoes. This commit doesn't break API/ABI, the flags parameters that were added are all internal (between protocols and UI code) On the irc protocol side, the situation isn't very nice, since some clients put these messages in the wrong window. Irssi, hexchat and mirc get this wrong. Irssi 0.8.18 has a fix for it, and the others have scripts to patch it. But meanwhile, there's a "self_messages" global setting that lets users disable this, or get them as normal messages / notices with a "->" prefix, which loosely imitates the workaround used by the ZNC "privmsg_prefix" module.
* IRCv3 SASL capability + PLAIN methoddequis2015-10-08-0/+2
| | | | | | | | | | | | | | | | | | | | | Only plain, no other methods. We don't have built-in SSL to implement EXTERNAL (certfp) and nothing else is worth implementing. The actual authentication is pretty much like sending a server password (when the server's authmode isn't closed), which means it happens in cmd_identify, but this code also calls storage_check_pass() to send the required success/failure replies. SASL doesn't give us much benefit other than standards compliance, but some clients might appreciate it. And having a fifth way to do the same thing doesn't hurt! Now we have: - identify in &bitlbee - identify to nickserv (alias for root) - 'nickserv' and 'ns' irc commands - server password - sasl plain
* IRCv3 multi-prefix... but mostly just adding prefixes to WHOdequis2015-10-08-2/+2
| | | | | | | | | We can't actually have multiple prefixes internally, so the only thing missing for multi-prefix compliance is actually having the prefix in the WHO reply, which is a rfc1459 thing. Note to future self: check irc logs for the implementation I threw away. The one that actually handled multiple prefixes. I hope that's useful.
* Move CAP commands to irc_cap.c; use enum for flagsdequis2015-09-30-0/+8
|
* CAP REQdequis2015-09-10-0/+1
|
* Initial implementation of ircv3 capability negotiationdequis2015-09-10-0/+2
| | | | | Mostly no-op for now. Puts registration on hold, supports the basic commands, and NAKs everything
* irc_channel: use irc_t instead of bee_tdequis2015-04-06-1/+1
| | | | Fixes the test suite. I guess it's useful for something.
* irc: split bee_irc_chat_name_hint in a few functionsdequis2015-04-06-0/+2
| | | | Also split underscore_dedupe from nick_dedupe.
* Reindent everything to K&R style with tabsIndent2015-02-20-140/+126
| | | | | | | 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.
* irc_commands: implemented KICK supportjgeboski2015-01-29-0/+1
| | | | | | | | | | | With similar commands being supported, such as INVITE, the KICK command should be supported as well. The key motivation behind supporting KICK is having for having a way to remove users from group chats. As of now, there is no way for a bitlbee user to remove a user from a group chat. With no current KICK implementation, it made using this command a prime candidate for the UI side of this implementation. In addition, the KICK command has been supported in the control channel as well. This is to keep the INVITE/KICK pair consistent.
* irc-channel: implemented a special mode for show_usersjgeboski2015-01-28-1/+1
| | | | | | | | | | | | | This allows for users to be declared as being special, which does not have any specific meaning. The meaning of being special is different from protocol-to-protocol, which many protocols do not even implement. This functionality is mainly geared towards a special user state which only some protocols may actually need to define. For example, with the third-party Steam plugin, this can be used for denoting a user which is actively playing a game. By default, this mode will not actually be used by any plugin. However, it does default to the half-operator user mode.
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* Allow use of "ac x set -del password" to use /oper to change the passwordWilmer van der Gaast2014-02-28-1/+1
| | | | | "securely". Patch from Flexo, bug #1117.
* Simple (and possibly still fragile) support for UTF-8 nicknames.Wilmer van der Gaast2013-04-23-0/+2
|
* 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.
* ! modified for control channel fill_by setting to for example create aWilmer van der Gaast2013-02-21-5/+7
| | | | | | separate control channel with all contacts *not* in a certain group/from a certain IM account/network, etc.
* Allow identify -noload/-force without typing a password. (/OPER)Wilmer van der Gaast2012-03-19-1/+3
| | | | | Patch from trac3r, bug #814.
* Don't use the C++ keyword 'new' as a variable name.Alex Miller2011-12-18-4/+4
|
* rename irc_usermsg to irc_rootmsg.unknown2011-10-03-2/+4
| | | | | | add new irc_usermsg, irc_usernotice. deliver user-specific messages from libotr as notices to that user.
* factor making a message appear from a specific nick out of bee_irc_user_msgunknown2011-10-01-0/+1
|
* More password paranoia: Allow omitting the identify/register password asWilmer van der Gaast2011-02-01-0/+10
| | | | | | | | | | well (and enter it using /OPER instead). This is a gross hack and indeed still not solid: In irssi one can still use /RAWLOG SAVE to find the OPER line sent to BitlBee (and of course not everyone uses SSL to talk to remote BitlBee servers). This only works within 10-30 minutes after entering the password though.
* rename -delWilmer van der Gaast2010-12-05-0/+1
|
* Added irc_channel_with_user() function to find a suitable channel to showWilmer van der Gaast2010-11-20-0/+1
| | | | | a user's message in, instead of just &bitlbee by default.
* Load/save code. It'd be better if the OTR module would just save its infoWilmer van der Gaast2010-09-01-0/+7
| | | | | | in BitlBee settings that automatically end up in the existing .xml files (or whatever storage is used), but I realise this is non-trivial.
* Do encryption and decryption. Somehow SMP and other things aren't workingWilmer van der Gaast2010-09-01-2/+6
| | | | | | so well yet, at least when testing with Pidgin on the other side. Not sure where the bug is.