aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/jabber.h
Commit message (Collapse)AuthorAgeLines
* 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
| |\ \
| * \ \ merged in upstream r410.ulim2008-08-04-5/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Only conflict was the correction of jabber normalization which I had already done.
| * | | | some changes for sending.ulim2008-05-10-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * not only query but also respect peer's features (i.e. abort ft if an important feature is not advertised) * wait for proxy discovery to complete before starting the transfer (important for sending to people with auto accept)
| * | | | Merged with upstream r328ulim2008-02-15-4/+18
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wilmer van der Gaast 2008-02-11 Got rid of some noise at startup: complaining when the default configuration Wilmer van der Gaast 2008-02-10 Added support for password-protected Jabber chatrooms. Wilmer van der Gaast 2008-02-10 Making AI_ADDRCONFIG optional, it doesn't exist on at least NetBSD and Wilmer van der Gaast 2008-02-09 Restored "add -tmp". A bit hackish, but it will do for now. Wilmer van der Gaast 2008-02-07 Fixed getnameinfo() calls, this fixes Solaris stability issues. Thanks to Wilmer van der Gaast 2008-02-04 Added bogus G_GNUC_MALLOC to restore GLib 2.4 compatibility (hopefully). Wilmer van der Gaast 2008-02-03 Messages from the user are also included in backlogs when joining a Jabber Wilmer van der Gaast 2008-02-03 Disabling "Unknown command" warnings since they're very noisy and pretty Wilmer van der Gaast 2008-02-03 Implemented XEP-0115. This adds some info to the <presence/> tags so Wilmer van der Gaast 2008-02-03 Saner garbage collection of cached packets in the Jabber module. Now Wilmer van der Gaast 2008-02-02 Added help_free() and cleaned up some very stale help-related stuff I Wilmer van der Gaast 2008-01-30 Fixed handling of OSCAR multi-part messages... They're not arrays, they're Wilmer van der Gaast 2008-01-24 Keeping track of valid Jabber connections so _connected() events will be Wilmer van der Gaast 2008-01-24 Fixed two valgrind warnings (partially uninitialized "struct tm" vars.) Wilmer van der Gaast 2008-01-20 The Jabber module now uses imcb_chat_log() instead of imcb_log() where Wilmer van der Gaast 2008-01-20 Added imcb_chat_log() for chatroom system messages, so they can be Wilmer van der Gaast 2008-01-20 GET_BUDDY_FIRST wasn't actually implemented, even though it was in use Wilmer van der Gaast 2008-01-19 Using test -f instead of test -e. This breaks if the include files are Wilmer van der Gaast 2008-01-19 Added byte swapping code to the new MD5 checksumming code to make it work Wilmer van der Gaast 2008-01-18 Moving imcb_chat_new() to a saner location (no code changes) and fixing Wilmer van der Gaast 2008-01-17 Apparently ext_yahoo_got_im can be called with msg=NULL, so it should be Wilmer van der Gaast 2008-01-17 Fixing some Solaris compiler warnings (u_int->uint, adding some typecasts Wilmer van der Gaast 2008-01-13 Fixed handing of failed groupchat joins. Wilmer van der Gaast 2008-01-13 Fixed "Conditional jump or move depends on uninitialised value(s)" at Wilmer van der Gaast 2008-01-13 Fixed quickstart2. (Bug #349.) Wilmer van der Gaast 2008-01-13 Different handling of charset mismatches before login time. Ignoring a Wilmer van der Gaast 2008-01-12 When a switchboard connection dies (at the TCP level) and there are still Wilmer van der Gaast 2008-01-12 Killed info_string_append() and now showing the IP address of ICQ users Wilmer van der Gaast 2008-01-11 Fixing bug #344, now away states should always be correct, even when people Wilmer van der Gaast 2008-01-11 Adding own handle to protocol name in blist output for people with multiple Wilmer van der Gaast 2008-01-10 Now setting odata->icq properly again, this got lost some time ago, which Wilmer van der Gaast 2008-01-06 More consistency in error/warning errors. Until now "WARNING:" was usually Wilmer van der Gaast 2008-01-06 Changed warning message about unsent MSN messages. It should show the actual Wilmer van der Gaast 2008-01-05 Added "mail_notifications" setting. Who needs those notifications anyway? Wilmer van der Gaast 2008-01-05 Build fix from vmiklos. Wilmer van der Gaast 2008-01-05 Added handling of MSN switchboard NAK messages. Untested, but hey, it Wilmer van der Gaast 2008-01-05 Removed closure->result. I was planning to add some more stuff, but will Miklos Vajna 2007-12-31 encode: md5.c is no longer in protocols/, it's in lib/ Wilmer van der Gaast 2007-12-28 Fixed return value check in proxy_connect(), since on some systems Wilmer van der Gaast 2007-12-28 Added missing return in jabber_login(). Wilmer van der Gaast 2007-12-16 Implemented XEP-0199 (patch from misc@mandriva.org). Wilmer van der Gaast 2007-12-12 Checking conn->xcred before trying to clean it up since GnuTLS doesn't Wilmer van der Gaast 2007-12-12 Killed the <server> parameter to "account add" and changed the default Wilmer van der Gaast 2007-12-12 Fixed sockerr_again() usage in Jabber module to (hopefully) fix a 100% CPU Wilmer van der Gaast 2007-12-10 Don't allow nicks that start with a number. Wilmer van der Gaast 2007-12-10 Fixed "set xxx" syntax (it showed all settings instead of just xxx). Wilmer van der Gaast 2007-12-09 If I keep forgetting to credit people in commit msgs I should probably add Wilmer van der Gaast 2007-12-09 Added /invite support for Jabber chatrooms (and fixed the argument order
| * | | | | Merged in 280..288 from upstream (e.g. PING)kenobi2007-12-19-0/+2
| | | | | |
| * | | | | sending via proxykenobi2007-12-18-1/+15
| | | | | |
| * | | | | Merged in current develulim2007-12-04-1/+2
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wilmer van der Gaast 2007-12-02 Imported setuid() patch from Simo Leone <simo@archlinux...> with some Wilmer van der Gaast 2007-12-02 Forgot to return something in jabber_chat_join_failed(). Wilmer van der Gaast 2007-12-02 Merging a change I should've pulled before committing three other changes. Wilmer van der Gaast 2007-12-02 Added charset checks on incoming msgs (from the IRC side) to prevent possible Wilmer van der Gaast 2007-12-02 Handling of presence-error packets (only useful for groupchats now), moved Wilmer van der Gaast 2007-12-02 Defining DEBUG via CFLAGS so that it'll always be there, even when a file Wilmer van der Gaast 2007-12-02 Removed retarded printf() (ARGH) and moved the event handling handling of Wilmer van der Gaast 2007-11-29 printf() in daemons considered harmful. Wilmer van der Gaast 2007-11-28 Fixed the epoll+ForkDaemon combination. The libevent event handling
| * | | | | | Send and receive seems to work now! Also adopted the new buffering strategy,ulim2007-12-04-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only one buffer of 2k per transfer now.
| * | | | | | Intermediate commit. Sending seems to work. TODOs:ulim2007-12-03-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move from out_of_data to is_writable, eliminate buffers * implement "transfers reject [id]" * documentation in commands.xml * implement throughput and cummulative throughput boundaries * feature discovery before sending * implement sending over a proxy (proxy discovery, socks5 client handshake for sending, activate message) * integrate toxik-mek-ft
| * | | | | | Initial import of jabber file receive and DCC send support. This introducesulim2007-11-28-10/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only a few changes to bitlbees code, mainly the addition of the "transfers" command. This is known to work with Kopete, Psi, and Pidgin (formerly known as gaim). At least with Pidgin also over a proxy. DCC has only been tested with irssi. IPV6 is untested but should work. Currently, only receiving via SOCKS5BYTESREAMS is implemented. I'm not sure if the alternative(in-band bytestreams IBB) is worth implementing since I didn't see a client yet that can do it. Additionally, it is probably very slow and needs support by the server as well.