aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
Commit message (Collapse)AuthorAgeLines
* Merge branch 'master' into patched-masterMarius Halden2018-04-19-8164/+22
|\
| * jabber: try to join anyway after "Already present in chat"dequis2018-03-31-2/+7
| | | | | | | | | | Most of the time that error meant a confusion on bitlbee's side, often a server for which we sent a join request and never got a reply for.
| * oscar: remove old_icq_auth (XOR login, default off since 2010)dequis2018-03-30-157/+1
| | | | | | | | Holy crap this login method is *bad*
| * purple: support PURPLE_MESSAGE_REMOTE_SEND for groupchat self-messagesdequis2018-03-19-1/+8
| | | | | | | | | | | | Requires libpurple 2.12.0 Mostly relevant recently with slack-libpurple.
| * twitter: remove some obsolete references to identi.cadequis2018-03-11-21/+5
| |
| * Remove old skype plugin. Use the skypeweb purple plugin instead.dequis2018-03-11-4344/+0
| | | | | | | | | | | | | | | | | | | | RIP This plugin relied on the skype linux client, which doesn't work anymore. During login it just does exit(0) for mysterious reasons. I guess that's the server trying to say that it's not supported. This is officially dead now after a few years of kinda-almost-working.
| * Update Twitter character limit to 280 charactersAlyssa Ross2018-02-08-1/+1
| |
| * Remove MSN. Use the skypeweb purple plugin instead.dequis2018-01-10-3638/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | RIP As per http://ismsndeadyet.com/ all versions up to MSNP22 died a few months ago. We had a MSNP21 implementation, bought us two extra years. Implementing MSNP24 is technically possible but also pointless given skypeweb, and the authentication requires some fairly messed up crypto and legacy old-skype-protocol servers. For a long time I tried to reverse a potentially simpler method, and got fairly close, but never completed that. I haven't done any attempts to continue it in the last year, so I'm fine with giving up at this point.
* | Merge branch 'master' into patched-masterMarius Halden2018-01-09-1/+5
|\|
| * jabber: Fix chat joins when ext_jid is provided for your own userdequis2017-11-19-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the presence needed to finalize a join to the channel, the 'from' field is our own user in the context of that channel: <presence to="dx@server/resource" from="channel@gateway.server/dx"> <x xmlns="http://jabber.org/protocol/muc#user"> <status code="110"/> <item jid="~dx@198.51.100.1" affiliation="none" role="participant"/> </x> </presence> Bitlbee takes the stuff to <item jid="..."> as the "real" jid, as it does for non-anonymous MUCs. It sets that to ext_jid, and uses it as the handle internally. In this particular case, that real jid is nonsense for us, so imcb_chat_add_buddy() interprets that as yet another person joining the channel, instead of the expected self-join. This fixes it by checking if the buddy is our own user, and ignoring the provided ext_jid in those cases. Thanks to ivucica for reporting this, who was using Biboumi (a gateway from XMPP to IRC)
| * Handle always_use_nicks more gracefullyValeriy Malov2017-11-19-1/+2
| | | | | | | | Add MUC buddies before applying nick changes
* | Merge branch 'master' into patched-masterMarius Halden2017-09-06-11/+12
|\|
| * Twitter: fix format strings for integersAlex Schroeder2017-08-09-10/+10
| | | | | | | | | | | | | | Silence the following compiler warning: format specifies type 'unsigned long long' but the argument has type 'guint64'. When formatting a json_integer, use PRId64 for int64_t. When formatting ordinary integers, use G_GUINT64_FORMAT for guint64.
| * purple: enable debug during core initializationdequis2017-07-12-1/+3
| | | | | | | | Noisy but often important
* | Merge branch 'master' into patched-masterMarius Halden2017-05-14-3/+3
|\|
| * Fix status message being set to null accidentallydequis2017-05-07-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In other words, "account jabber set away Message" resulted in away status being set, but not "Message". Fixes trac ticket 1291 This was broken by ac68733ad7a5127395d6367b655a2d9de5d911b5 (3.4.2) That commit added another call of imc_away_state_find() with the fixed string "away", so purple protocols can become away by setting away to any string. But by doing so, it wiped the status message because it's the same as the name of the away state.
* | Merge branch 'master' into patched-masterMarius Halden2017-04-25-0/+10
|\|
| * twitter: experimental support for place_iddequis2017-04-11-0/+10
| |
* | Merge branch 'master' into patched-masterMarius Halden2017-04-07-13/+13
|\|
| * Add --verbose configure option to control verbose build outputTim Harder2017-03-12-13/+13
| | | | | | | | Defaults to disabled to maintain the status quo.
* | Use auto_populate_reply_metadata for twitter replyMarius Halden2017-04-01-4/+12
| |
* | Merge branch 'master' into patched-masterMarius Halden2017-01-30-0/+4
|\|
| * purple: Fix crash on ft requests from unknown contactsdequis2017-01-29-0/+4
| | | | | | | | | | Followup to 701ab81 (included in 3.5) which was a partial fix which only improved things for non-libpurple file transfers (that is, just jabber)
* | Merge branch 'master' into patched-masterMarius Halden2017-01-07-4/+8
|\|
| * purple: show self-messages in groupchat backlogs (before join)dequis2017-01-03-3/+7
| | | | | | | | | | | | That is, flagged with PURPLE_MESSAGE_DELAYED. Those are safe to display. This is similar to what adium does. Thanks EionRobb for the idea.
| * oscar: fix checkdisallowed condition, which was breaking login.dequis2017-01-03-1/+1
| | | | | | | | Accidentally broke it in d57484d (from last week)
* | Merge branch 'master' into patched-masterMarius Halden2017-01-01-4/+11
|\|
| * Use NI_MAXHOST rather than HOST_NAME_MAX for host lengths.Jelmer Vernooij2016-12-31-1/+1
| | | | | | | | | | | | | | This constant is always available and meant to be used with getnameinfo(). This fixes the build on Debian GNU/kFreeBSD.
| * Per-account handle_unknowndequis2016-12-27-3/+10
| | | | | | | | Credit for the idea goes to russian XMPP spammers. Thanks!
* | Merge branch 'master' into patched-masterMarius Halden2016-12-27-18/+133
|\|
| * purple: fix -Werror=format-string in chat settings codedequis2016-12-26-4/+2
| | | | | | | | | | This one was caught by the debian build scripts in travis. I had format-security in my local cflags, not format-string. Welp.
| * purple: hack to keep the purple-line auth token in the configdequis2016-12-26-1/+20
| |
| * purple: add support for extra groupchat settings (helps with SIPE)dequis2016-12-26-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds channel settings prefixed by purple_. For example jabber now has purple_room and purple_server which are decomposed variants of our own 'room' setting. Okay, that doesn't sound very useful. It also adds some sync from the values returned by chat_info_defaults() - so if the plugin figures something out in there, we save it in our own settings. In the case of SIPE this adds a new setting, purple_uri, which can be set with the ma-chan:// uri for a persistent chat. This solves the issue with the SIPE plugin only knowing how to do name lookups after doing 'chat list' - now it just needs to work once, and we save the real URI in our settings.
| * jabber: Workaround for servers (like slack) that send echoes without iddequis2016-12-26-4/+15
| | | | | | | | | | | | | | | | 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.
| * Change some asserts into g_return_if_fail()dequis2016-12-26-10/+4
| | | | | | | | | | | | Because crashing asserts are bad, and maybe this helps fix the captures_build_path issue with debian's reproducible builds (those asserts probably include __FILE__)
| * Fix some clang static analyzer warningsdequis2016-12-26-3/+3
| | | | | | | | Nothing interesting.
* | Merge branch 'master' into patched-masterMarius Halden2016-12-26-46/+129
|\|
| * purple: Call imcb_buddy_nick_change() on a few whitelisted pluginsdequis2016-12-25-4/+40
| | | | | | | | | | | | | | | | The whitelist includes hangouts, funyahoo and icq. These plugins tend to have numeric or meaningless usernames. With this change, users don't have to do 'ac whatever set nick_format %full_name' anymore. Just sugar.
| * purple: include purple plugins in the 'plugins' command listdequis2016-12-25-0/+15
| |
| * Refactor: Split plugin info stuff from load_plugin() into two functionsdequis2016-12-25-35/+53
| |
| * Fix some compiler warningsdequis2016-11-28-4/+4
| | | | | | | | | | | | | | | | warn_unused_result on write() is particularly annoying. You can't just add (void) to ignore it due to gcc bug 66425. I replaced some of those with fwrite() and used a variable marked with the G_GNUC_UNUSED attribute for the writes from signal handlers.
| * purple: Use roomlist_room_serialize, fixes joining jabber chatsdequis2016-11-28-3/+17
| | | | | | | | | | | | | | The room names in 'chat list' were missing the server part. Jabber is the only prpl which implements this method as far as I can see, and it's needed to get the full name.
* | Merge branch 'master' into patched-masterMarius Halden2016-11-27-4/+6
|\|
| * Expand each (media) URL only once. Twitter likes duplication. #1275.Wilmer van der Gaast2016-11-27-3/+5
| |
| * Heh, oops, some error in the Twitter module still mentioned XML. Fixed.Wilmer van der Gaast2016-11-23-1/+1
| | | | | | | | | | Some structs still have xml in their name but meh, at least that's not visible to the user.
* | Merge branch 'master' into patched-masterMarius Halden2016-11-21-92/+6
|\|
| * Manual merge with wilmer's approach to handling missing protocolsdequis2016-11-21-92/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out he already implemented pretty much the same thing in the parson branch... last year. The differences between the two approaches are subtle (there aren't too many ways to do this, some lines are the exact same thing) but I decided I like his version better, so this mostly reverts a handful of my changes while keeping others. The main advantage of his approach is that no fake protocols are registered, no actual prpl functions are called, and the missing prpl is a singleton constant. New things compared to the implementation in the other branch: - The explain_unknown_protocol() function. - Fixed named chatrooms throwing a warning and losing the "account" setting when saving. See changes in irc_im.c - Fixed the "server" setting dropping when saving. See account.c Differences with my previous implementation: - Accounts with missing protocols don't autoconnect - 'account list' marks them as "(missing!)"
* | Merge branch 'master' into patched-masterMarius Halden2016-11-19-9001/+131
|\|
| * protocols/unknown: Fix format-security warningdequis2016-11-19-1/+1
| | | | | | | | Which is -Werror'd in debian builds
| * ...of course, i had to forget to add unknown.cdequis2016-11-19-0/+75
| |