aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
Commit message (Collapse)AuthorAgeLines
* Move canohost functions (diff licence) to separate file.Wilmer van der Gaast2017-04-06-0/+1
|
* Add PROXY command. Not actually an IRC protocol command, it's a HAProxyWilmer van der Gaast2017-04-06-26/+48
| | | | | trick supported by stunnel to indicate where the connection originally came from. Looks a little better on public servers.
* Add reverse_lookup() function which does a more proper (verified) DNSWilmer van der Gaast2017-04-06-12/+2
| | | | | reverse lookup. (Code copied from OpenSSH instead of redoing it poorly.)
* Add nick_lowercase and nick_underscores settingsdequis2016-12-25-1/+2
|
* 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.
* Initial implementation of ircv3 capability negotiationdequis2015-09-10-1/+1
| | | | | Mostly no-op for now. Puts registration on hold, supports the basic commands, and NAKs everything
* irc: Replace NOTICE AUTH before registration with NOTICE *dequis2015-08-18-3/+3
| | | | | | Because many other ircds do that. (But actually mostly because @SaberUK said so)
* Various user experience/error reporting improvementsdequis2015-03-10-1/+3
| | | | | | | | | | | - Show version as part of the initial message of &bitlbee - Use g_strerror() to show actual errors when saving xml configs - Only show "The nick is (probably) not registered" for ENOENT, use g_strerror() for the rest of OS errors when loading xml configs - Show "Protocol not found: <name>" when find_protocol() returns null, useful when the user uninstalls a plugin accidentally. - Suggest the user to check the system clock when getting error 401 from the twitter stream (other REST endpoints show a better error message)
* Reindent everything to K&R style with tabsIndent2015-02-20-600/+583
| | | | | | | 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-channel: implemented a special mode for show_usersjgeboski2015-01-28-3/+3
| | | | | | | | | | | | | 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
|
* Fix the NSS init after fork bug, and clean up lies in unix.cdequis2014-07-24-0/+6
| | | | | | | | | | | | | | | | | | | | | | | This might look like a simple diff, but those 'lies' made this not very straightforward. The NSS bug itself is simple: NSS detects a fork happened after the initialization, and refuses to work because shared CSPRNG state is bad. The bug has been around for long time. I've been aware of it for 5 months, which says something about this mess. Trac link: http://bugs.bitlbee.org/bitlbee/ticket/785 This wasn't a big deal because the main users of NSS (redhat) already applied a different patch in their packages that workarounded the issue somewhat accidentally. And this is the ticket for the 'lies' in unix.c: http://bugs.bitlbee.org/bitlbee/ticket/1159 Basically a conflict with libotr that doesn't happen anymore. Read that ticket for details on why ignoring those comments is acceptable. Anyway: yay!
* Simple (and possibly still fragile) support for UTF-8 nicknames.Wilmer van der Gaast2013-04-23-0/+19
|
* 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.
* Changing ping behaviour. Pinging seems to be misbehaving for some peopleWilmer van der Gaast2012-02-26-10/+10
| | | | | | | for reasons not entirely clear to me. Instead of suppressing a PING to the client if we're still waiting for a response to a previous one, just keep sending them. One PONG will be enough to stay connected but that's okay.
* rename irc_usermsg to irc_rootmsg.unknown2011-10-03-4/+4
| | | | | | add new irc_usermsg, irc_usernotice. deliver user-specific messages from libotr as notices to that user.
* Cleaning up irc_umode_set() a little bit, but it's still a disaster.Wilmer van der Gaast2011-01-29-7/+10
|
* Be clearer about password settings being intentionally hidden (and notWilmer van der Gaast2010-11-21-1/+1
| | | | | really empty). Bug #657 and confusing BitlBee users since probably 2002.
* Oops. Just in time I noticed the whatsnew code doesn't kick in for pre-1.33.0Wilmer van der Gaast2010-10-22-2/+1
| | | | | accounts. Fixed now.
* Fixed Ping Timeout on connection takeover (bug #692).Wilmer van der Gaast2010-10-21-1/+5
|
* Stop calling nogaim_init() on every incoming connection (unless we'reWilmer van der Gaast2010-10-16-0/+4
| | | | | | using libpurple). This was leaking memory and indirectly caused the bug fixed by the previous revision.
* Merging mainline, which includes a huge msnp13 merge.Wilmer van der Gaast2010-10-02-0/+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-0/+1
| | | | | | | | | | into the executable.
* | call storage_save before freeing plugins, avoids segfault in otr.cSven Moritz Hallberg2010-09-19-4/+4
| |
* | Pluginify this thing a little bit. Not so much in the dynamically loadableWilmer van der Gaast2010-09-01-0/+23
|/ | | | | sense of the word, more in a way that core files don't have to include otr.h.
* Although the backward compatibility stuff for show_offline and away_devoiceWilmer van der Gaast2010-08-21-1/+3
| | | | | | | was only meant to ease migration, people are now complaining that "set show_offline off" doesn't work. Make this work, but at the same time start hiding these two options to discourage people from using them.
* Added some neat whatsnew code that keeps track of the newest version ofWilmer van der Gaast2010-08-21-0/+3
| | | | | | | | | | BitlBee used by a user, and if it looks like s/he hasn't used this one before, show a list of new features that may be interesting. Since I don't think im.bitlbee.org users will read any changelogs ever, this is probably not a bad idea. If you hate it, the following command should get rid of it forever: set last_version 9999999
* Set channel mode +C for control channels.Wilmer van der Gaast2010-08-04-0/+2
|
* Show a friendly warning message when running in inetd mode on the commandWilmer van der Gaast2010-07-29-0/+6
| | | | | | | line (if stdin is a TTY). This hopefully answers a FAQ. Also moved stuff around in README a little bit, daemon mode should be described before obsolete inetd stuff.
* Restore default_target setting, kill last_root_cmd variable and just useWilmer van der Gaast2010-07-29-9/+8
| | | | | the last_channel variable, like for any other user.
* Fixed shutdown sequence (could cause 100% CPU usage on SIGTERM).Wilmer van der Gaast2010-07-27-28/+17
|
* Adding easy migration from old show_offline/away_devoice settings, andWilmer van der Gaast2010-07-19-10/+24
| | | | | documentation.
* Added %nick and %group. They don't work yet since nick_gen() is only calledWilmer van der Gaast2010-07-12-1/+1
| | | | | once.
* First version of the nick_format setting.Wilmer van der Gaast2010-07-12-0/+1
|
* Added allow_takeover setting for people who don't like this new functionality.Wilmer van der Gaast2010-07-11-1/+3
|
* Cleanup. Move some code to a more appropriate location, and show the oldWilmer van der Gaast2010-07-10-0/+79
| | | | | connection a quit message instead of just breaking the connection.
* Added automatic joining of channels. Auto-rejoin functionality forWilmer van der Gaast2010-07-04-1/+2
| | | | | groupchats not reimplemented yet but that's the next step.
* Show a user going offline as a QUIT, not as one or more PARTs, like in theWilmer van der Gaast2010-07-03-0/+1
| | | | | | old-style BitlBee. This so that the IRC client will show the notification in query windows as well. Make it a setting though, for bug #539.
* Added away_reply_timeout setting so BitlBee will suppress away messages sentWilmer van der Gaast2010-06-11-0/+1
| | | | | | | in response to PRIVMSG if one was sent recently - some IRC clients including irssi don't do this very well (when talking to >1 people who are away for example).
* Fixing hostname in "exiting" opermsgs.Wilmer van der Gaast2010-06-10-2/+2
|
* Restore "set root_nick" behaviour. All disabled set evaluators are backWilmer van der Gaast2010-06-07-1/+1
| | | | | now. Getting *very* close to "feature parity" now!
* Restoring auto-identification using server password.Wilmer van der Gaast2010-06-07-10/+10
|
* Restore "ops" command completely, and set user op status *just* beforeWilmer van der Gaast2010-06-07-5/+1
| | | | | s/he joins.
* Changing away_devoice will change current voice statuses in all channels.Wilmer van der Gaast2010-06-07-1/+18
|
* Merging killerbee stuff, bringing all the bleeding-edge stuff together.Wilmer van der Gaast2010-06-07-5/+7
|\
| * Merging killerbee. (The non-libpurple stuff currently doesn't compile.)Wilmer van der Gaast2010-05-25-1/+0
| |\
| * \ Mainline merge. (Probably mostly irrelevant for this branch, oh well.)Wilmer van der Gaast2010-05-16-0/+1
| |\ \
| | * | Applied show-offline patch from Florian E.J. Fruth, adapted for a fewWilmer van der Gaast2010-05-02-0/+1
| | | | | | | | | | | | | | | | | | | | changes that happened since 1.2.4.
| * | | Merging stuff from mainline (1.2.6).Wilmer van der Gaast2010-04-24-3/+21
| |\| |
| * | | Merging in killerbee stuff (just file transfers and maybe a few things fromWilmer van der Gaast2010-03-21-1/+12
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | mainline). Once I add ft support glue to protocols/purple/ I guess this will all go into killerbee.