aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber.h
Commit message (Collapse)AuthorAgeLines
* Merge branch 'master' into patched-masterMarius Halden2016-12-27-0/+1
|\
| * jabber: Workaround for servers (like slack) that send echoes without iddequis2016-12-26-0/+1
| | | | | | | | | | | | | | | | Just comparing the body of the last sent message. This isn't foolproof and sending several messages quickly can make it fail, but it's less annoying than before. The correct solution is still to fix the server. In the case of slack I still recommend using the irc gateway instead.
* | Merge branch 'master' into patched-masterMarius Halden2016-10-17-0/+1
|\|
| * jabber: Implement chat list commanddequis2016-10-16-0/+1
| | | | | | | | Also applies to hipchat.
* | Merge branch 'master' into patched-masterMarius Halden2016-09-24-0/+1
|\|
| * hipchat: Add basic support for personal oauth tokensdequis2016-08-30-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes trac ticket 1265 - see the comments on that ticket for reasons on why personal tokens and not the usual oauth flow. TL;DR hipchat doesn't allow third party apps to own oauth client secrets. Instead, those are generated when the "addon" is "installed" which requires a flow that is either impossible or too awkward to use in bitlbee. So, after giving up on the right way and telling the users to manage tokens the ugly way, what's left to do is easy, just a few tweaks in the sasl blob and short-circuit most of the actual oauth stuff. I didn't even bother changing the service struct from google. It's not used. This also updates the gtalk SASL X-OAUTH2 code to use GStrings instead of juggling with malloc/strlen/strcpy, and simplifies a bit the way GStrings are used in the equivalent SASL PLAIN code.
* | Use saslprep, more cb stuffMarius Halden2016-07-06-0/+1
| |
* | Add support for SCRAM-SHA-256Marius Halden2016-06-26-0/+5
| | | | | | | | With this aproach it will be simple to add any hash to the scram implementation with some simple boilerplate.
* | Add initial support for SCRAM-SHA-1Marius Halden2016-06-26-0/+12
|/
* jabber: Add "always_use_nicks" setting, for non-anonymous MUCsdequis2016-03-20-1/+3
| | | | | | | | | Basically the same thing as github PR #55, which fixes trac bug 415, but this one conditionalized that behavior and uses the API introduced a few commits ago. I didn't think too much about the setting name and i'm open to changing it to anything else
* jabber: Add message processing hints to OTR messages (XEP-0334/0364)dequis2015-12-15-0/+1
| | | | | This prevents them from being stored or copied to other clients when carbons are enabled.
* Remove facebook XMPP code, show error pointing at the new plugindequis2015-12-04-3/+0
| | | | | | | | | | | | | | Facebook's oauth has been broken for months, and in the last few days they broke plain logins too, so I just added an error message that says this when you do "account on": Facebook's XMPP service is gone. Try this instead: https://wiki.bitlbee.org/HowtoFacebookMQTT Also nuked all the oauth related code, except some parts of lib/oauth2.c which seemed generic enough to maybe help in the future with other not-really-compliant not-really-implementations of the not-really-oauth2 not-really-spec
* hipchat: 'chat add hipchat "channel name"' now tries to guess the JIDdequis2015-11-23-0/+4
| | | | | | | | | | | It's basically prepending the organization id, appending the default MUC host from the success packet, and generating a slug based on the name for the middle part, which is replacing a few characters with underscores and doing a unicode aware lowercasing. Includes tests, which are useless other than validating the initial implementation with the test vectors that i already tested manually. Guaranteed to detect zero breakages in the future. Good test code.
* jabber: Implement carbons (XEP-0280)dequis2015-11-21-0/+2
| | | | | | | | | | | | | | "Message carbons" (XEP-0280) is a server feature to get copies of outgoing messages sent from other clients connected to the same account. It's not widely supported by most public XMPP servers (easier if you host your own), but this will probably change in the next few years. This is enabled by default if the server supports it. It can also be disabled with the "carbons" account setting. Loosely based on a patch by kormat from trac ticket 1021. (Thanks!) I moved stuff around, simplified things, fixed a few bugs, and used the new self-messages feature.
* Gmail notifications support through new imcb_notify_email() APIArtem Savkov2015-05-28-0/+4
|
* jabber: Refactor conference message handlingdequis2015-05-28-0/+1
| | | | | | | | - Improve handling of "unknown 'from'" - Try a bit harder to detect the source of the message, and fall back to messages sent from a fake temporary user. - Fix receiving topic when it was set by someone who left the room. - Add jabber_get_bare_jid() utility function
* hipchat: Basic implementation: Auth, profile and mention namesdequis2015-04-28-0/+10
| | | | | | | | This is enough to log in with their usernames, make 'chat add' based groupchat joins slightly more smooth, and see mention names as nicks. All the MUC list stuff is left out intentionally since that's not as stable as I wish.
* jabber: Register "hipchat" protocol (only minimal support for now)dequis2015-04-21-0/+1
| | | | | | | | | | | | | | | | | | | Another take on the subprotocols idea that, IMO, was a failure. Unlike the other implementation, this one doesn't touch gtalk/facebook accounts, it just adds another copy of the "jabber" prpl called "hipchat". And, based on the protocol name: - sets JFLAG_HIPCHAT to jabber_data - sets the default value of the "server" setting - only includes the oauth setting for jabber-type accounts This is slightly more "hardcoded" but honestly facebook and gtalk are just as hardcoded as this. Copying the prpl is needed because the meaning of the usernames is completely different (there's no srv lookup stuff either)
* Reindent everything to K&R style with tabsIndent2015-02-20-113/+101
| | | | | | | 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.
* Add handle_is_self() prpl function to fix JID mismatch confusion bugsdequis2015-01-25-0/+1
| | | | | | | | | When bee_chat needs to check for self messages, it can call this function to let the protocol implementation do the comparison. In the case of jabber, sometimes the server reports a different username after login, this one is stored in jd->internal_jid, and the one that is used for login isn't changed
* Add support for XEP-0203: Delayed delivery (message timestamps)dequis2014-10-10-1/+2
| | | | | | | | Very similar to XEP-0091 which is already supported, but was marked as obsolete, replaced by XEP-0203. The main differences are the tag name and the timestamp format. Due to the similarities, both XEPs are still supported.
* Remove MSNXMPP specific codedequis2014-10-10-1/+0
| | | | The MSN XMPP gateway was shutdown december 2013 and isn't coming back.
* Added jabber_compare_jid to fix JID comparison case sensitivityGRMrGecko2014-07-24-0/+1
|
* 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.
* For the lazy among us: When adding a Jabber/MSN contact within the sameWilmer van der Gaast2013-02-21-1/+1
| | | | | domain like you, you can omit the domain name.
* Implement jabber message receipts (XEP-0184)Michael Stapelberg2012-10-17-0/+1
| | | | | | | This change will make BitlBee acknowledge messages when requested. It will not request message receipts from other clients, mainly because I am not sure if this feature can be mapped to IRC cleanly.
* Support for "nameless" chatrooms on Jabber.Wilmer van der Gaast2012-02-10-0/+2
| | | | | | | Just join #somechannel and start inviting people. It should Just Work, like on other IM networks. Works at least with GTalk and with other servers that have conference stuff installed on conference.$servername.
* Probing for Google Talk servers, based on iq-discovery responses. I'll needWilmer van der Gaast2012-02-10-1/+3
| | | | | this for automatically generating a sane name for groupchats.
* Slight cleanup: Use a constant instead of just "jabber_oauth" everywhere,Wilmer van der Gaast2011-12-24-0/+1
| | | | | | and added some safeguards to keep the user from messaging it when we're not actually doing OAuth setup.
* Merging mainline.Wilmer van der Gaast2011-12-24-1/+1
|\
| * Removing unfinished debugging stuff accidentally committed inWilmer van der Gaast2011-12-24-2/+0
| | | | | | | | | | changeset:devel,856.
| * Merging SSL certificate verification for GnuTLS, with help from AopicieR.Wilmer van der Gaast2011-12-23-1/+1
| |\
| | * Initial merge of tls_verify patch from AopicieR.Wilmer van der Gaast2011-12-19-1/+1
| | |
| * | Use initgroups() as well when dropping privileges. Closes bug #852.Wilmer van der Gaast2011-12-22-0/+2
| |/
* | Fix parsing of acc->pass. Use oauth_params_ functions instead of stringWilmer van der Gaast2011-12-21-1/+0
| | | | | | | | | | magic, fixes escaping issues.
* | Detect JID changes at login time and warn the user about them.Wilmer van der Gaast2011-12-20-0/+2
| |
* | Restructured and updated code a little bit to support new-style (much betterWilmer van der Gaast2011-12-18-0/+1
| | | | | | | | | | | | and "proper" OAuth2) Facebook OAuth support. (And, add wl.offline scope to get tokens that don't expire after an hour.)
* | More generic OAuth support now. Should work well for all GTalk accounts nowWilmer van der Gaast2011-12-18-0/+5
| | | | | | | | | | | | and somewhat for MS Messenger. The fb part needs different parsing of the authorize request, and possibly some other work.
* | Facebook authentication. This isn't really OAuth in the end: FB doesn'tWilmer van der Gaast2011-07-31-0/+2
| | | | | | | | | | | | really support desktop app OAuth in a way that would work with BitlBee. Plus, it's only OAuth-compliant by, err, name?
* | Working OAuth2 support. Needs some more debugging (error handling is notWilmer van der Gaast2011-07-26-0/+8
|/ | | | | great and imc_logout() gets (rightfully) confused when jabber_data is empty).
* Add support for XEP 202 (replacement for jabber:iq:time).Wilmer van der Gaast2010-12-06-1/+2
|
* First bits of CTCP support to contacts. (Try /CTCP VERSION on a JabberWilmer van der Gaast2010-12-06-0/+1
| | | | | contact.)
* Suppress subjects in Jabber conversations after showing them once.Wilmer van der Gaast2010-08-31-0/+2
|
* Allow moving contacts around between groups. Works with at least Jabber,Wilmer van der Gaast2010-06-09-1/+1
| | | | | will check the others now.
* Merging memory leak fixes from devel, time to find the ui-fix-specificWilmer van der Gaast2010-06-08-0/+1
|\ | | | | | | | | leaks.
| * Fixing some memory leakage.Wilmer van der Gaast2010-06-08-0/+1
| |
* | Merging in file transfer support. Most important points from my reviewWilmer van der Gaast2010-03-21-12/+74
|\ \ | |/ |/| | | | | are fixed now, time to let it settle in and get people to try it.
| * Merging mainline.Wilmer van der Gaast2010-03-17-3/+4
| |\
| * | No functional changes, just some style "fixes". Although I admit I'mWilmer van der Gaast2009-12-13-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | somewhat growing out of my own coding style, I do try to keep things consistent at least within files. Comments are now in reviewboard: http://code.bitlbee.org/rb/r/13/
| * | Merging head.Wilmer van der Gaast2009-12-07-2/+3
| |\ \