aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
Commit message (Collapse)AuthorAgeLines
* Remove some compatibility macros that referenced nonexistent functionsdequis2015-05-05-2/+0
|
* Make replies to self work in Twitter.Wilmer van der Gaast2015-05-03-5/+25
| | | | | Difficult because there's no bee_user struct pointing at the user themselves so instead just fake one for very limited use.
* Parsing of "retweets with comment". Not documented by Twitter so good luck.Wilmer van der Gaast2015-05-03-17/+37
| | | | Also, fix bug in parsing of entities in DMs.
* Add "url" command to Twitter module to get web URL for a Tweet.Wilmer van der Gaast2015-05-02-0/+13
|
* hipchat: Basic implementation: Auth, profile and mention namesdequis2015-04-28-11/+148
| | | | | | | | 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-2/+17
| | | | | | | | | | | | | | | | | | | 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)
* msn: don't prevent reconnections on OUT OTHdequis2015-04-19-13/+2
| | | | | | The servers send them for other reasons nowadays, and all non-MPOP clients are blocked, so OTH is highly unlikely to mean "someone else logged in with your account"
* msn/gw.c: ensure that the im_connection still exists in callbacksdequis2015-04-12-25/+35
|
* msn: rename all old 'handler' variables to 'md' for consistencydequis2015-04-11-64/+62
| | | | I avoided doing this before to keep the diff small. But meh.
* msn: handle NOT command payload lengthdequis2015-04-11-0/+4
|
* msn: switch to long polling httpdequis2015-04-10-2/+9
|
* msn: handle NFY PUT (presence notifications), refactor a bitdequis2015-04-10-22/+109
|
* msn_set_away: fix strcmp check for idledequis2015-04-10-1/+1
|
* get_rfc822_header: allow headers at the end of a stringdequis2015-04-10-0/+6
|
* msn: implement the rest of the http gateway support, enable by defaultdequis2015-04-10-20/+106
|
* msn: add msn_queue_feed(), move read() out of msn_handler()dequis2015-04-10-21/+27
|
* msn: remove msn_linesplit, use g_strsplit_set insteaddequis2015-04-10-42/+10
|
* msn: start of the http gateway codedequis2015-04-10-1/+149
|
* msn: remove unsupported commands, OIMs and dead codedequis2015-04-10-308/+4
|
* msn: implement PUT /user to set status as onlinedequis2015-04-10-37/+42
|
* msn: removed switchboards, implemented SDG messagedequis2015-04-10-1012/+85
|
* msn: start update to msnp21dequis2015-04-10-11/+13
| | | | | | | | - bump protocol version - update CVR parameters - don't send BLP, send ADL right after getting contact list - NFY payload size parsing - MSNP21 style ADL
* msn: colorful debugdequis2015-04-10-2/+6
|
* msn: remove old/broken/unused msnftp stuff (requires distclean!)dequis2015-04-06-792/+0
| | | | | | | | | Since this removes invitation.h, do "make distclean" to fix build errors MSNFTP is a file transfer method used by early msn messenger versions, and has been replaced by MSNP2P probably 10 years ago. This code was disabled/commented out in bitlbee
* jabber: Fixed null deref when receiving <subject> from oneselfdequis2015-04-03-2/+2
| | | | | | | | If the from="..." of the message that includes a subject refers to us, that buddy object won't have an ext_jid set, and passing that to strchr() results in pain. This happens with recent versions of an xmpp server called "lets-chat".
* Fix a bunch of memory leaksdequis2015-03-22-21/+33
| | | | | | | | | | | | | | | | | | | - irc_im.c: - bee_irc_user_msg: strdup leaks when otr swallows messages - bee_irc_user_action_response: GString leak in all ctcp replies - otr.c: - call g_slist_free() on the list of the otr_policy setting - otr_filter_msg_in: call otrl_tlv_free() if "tlvs" are returned - otr_filter_msg_out: don't g_strdup() if the message should be ignored - log_otr_message: g_strdup_vprintf() leaks always - nogaim.c: - imcb_ask_auth/imcb_ask_add: leaks in g_strdup_printf() - imcb_ask_add leaks imcb_ask_cb_data if the user already exists - add imcb_ask_cb_free() to correctly free its data - msn_util.c: add msn_buddy_ask_free(), ditto - storage_xml.c: pass_cr/password if base64_decode or arc_decode fail - ssl_gnutls.c: conn->hostname leak in error conditions, like invalid certs - jabber_util.c: jabber_buddy_by_ext_jid() leaks jid if it's not an ext jid
* purple: Fix null pointer dereference when logging out due to daemon modedequis2015-03-15-0/+4
| | | | | Purple just doesn't work with daemon mode anyway, but it's better to show the intended error message than to crash while showing it.
* purple: prplcb_close_request() improvementsdequis2015-03-15-24/+53
| | | | | | | - Added support for PURPLE_REQUEST_INPUT - Changed memory management to do the free() of data through purple_request_close(), letting purple know that the request was answered, and fixing use-after-free issues with it
* purple: handle purple_request_inputAntoine Pietri2015-03-13-1/+66
|
* twitter: fix _last_tweet setting, which broke during a mergedequis2015-03-13-1/+1
| | | | | | Commit eb4ad8d (a merge commit, yes) changed it to _last_tweet and missed one of the three. Not entirely sure if wilmer's fault, could be mine when I did the merge of his merge on my side. Whatever.
* purple: Implement 'close_request' to prevent segfaults after logoutdequis2015-03-11-1/+14
| | | | | | | | | | | | | | | Fixes trac bug 1190 ("Accepting SSL certs too late resets bitlbee-libpurple") To reproduce: 1. Connect to server with self-signed ssl certificate (downgrading to libpurple 2.10.9 might be required to actually get the request) 2. Disconnect the account 3. Type "yes" 4. Acquire segfault. Normally, query_del_by_conn() would handle this, but some requests have no account context at all. Yeah, it sucks. This is how pidgin handles it.
* msn: Update FindMembership payload to fix incorrect pending requestsdequis2015-03-10-1/+1
| | | | | | | | | | | | | | | | It was requesting memberships for the following services: Messenger, Invitation, SocialNetwork, Space, Profile Now it only requests the same services as WLM 2012: Messenger, IMAvailability Fixes trac ticket 1191. I'm going to apply this to the master branch just for the sake of marking it as fixed, but I can't log in at all with that branch at the moment. Yes this is silly.
* Various user experience/error reporting improvementsdequis2015-03-10-0/+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)
* twitter: Fix twitter_parse_id to accept 00 as a valid tweetdequis2015-03-10-7/+8
| | | | | | Also fix the endptr condition which was backwards and resulted in every tweet id getting rejected, but you didn't see that one, this commit really is about the tweet id 00 which is the most important tweet id.
* Revert "purple: cleanup, remove one usage of static local_bee"dequis2015-03-03-2/+1
| | | | | | | | | | | This reverts commit 5ff46180e5378acd6d103d9314175c78530bda7e. Turns out that libpurple really doesn't provide any context at all for some queries. Also, not going to say "Shouldn't affect anything" again. I'm getting good at writing code that looks good, but actually breaks stuff. That's not good. At all.
* purple: move PurpleAccount from proto_data in a struct purple_dataAntoine Pietri2015-03-02-47/+78
|
* fix imcb_buddy_msg signature to take a const messageAntoine Pietri2015-03-01-2/+2
|
* Disable msn by default :(dequis2015-02-28-3/+11
| | | | | | | I didn't want to do the next release with a broken msn, but... gotta be realistic. Also featuring shameless plug.
* Use https:// URL for Facebook OAuth2 now that there's a cert.Wilmer van der Gaast2015-02-24-1/+1
|
* Add --doc= configure option to disable helpfile generationdequis2015-02-23-3/+3
| | | | | | | | | | | | | It will get disabled automatically if the deps (xmlto and xsltproc) are missing Also added checks for asciidoc (a2x) for the skype plugin, which needs it for the skyped man page, and will also get that disabled if --doc=0 is passed or if asciidoc isn't installed. This should keep those ugly deps under control for now. I'd like to replace them at some point with something less dumb.
* coverity: Fix some (harmless?) use-after-free with g_slist_remove()dequis2015-02-22-9/+7
| | | | | | | These were passing a pointer to a variable right after it was g_free()'d They are most likely harmless as g_slist_remove() probably just needs the pointer location, but fixing it anyway.
* twitter_parse_id function, with better error handling than sscanf()dequis2015-02-22-3/+16
| | | | | Fixes issues such as parsing "reply eo" as replying to "0e", as reported by torrancew
* purple: cleanup, remove one usage of static local_beedequis2015-02-22-1/+2
| | | | | Shouldn't affect anything, and still doesn't allow initializing libpurple more than once, but whatever.
* s5bytestream: fix segfault (cleanup before trying next streamhost)dequis2015-02-22-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | This segfault happened when none of the available streamhosts can be connected to - or if at least one of them fails to connect. Before this commit, it can be reproduced reliably by setting the "proxy" setting of the account to nonsense, for example, this is what i used: proxy.example.org,1.2.3.4,7777;proxy.example.com,173.194.42.65,80 jabber_bs_recv_handshake_abort() calls jabber_bs_recv_handshake(), which is supposed to restart the handshake with the next streamhost. And it replaced bt->tf->watch_out, which held an event ID, with a newer event ID. So the replaced event ID doesn't get removed, and it gets called again when its socket is closed by the timeout - and by the time that happens, the memory is free()'d already. Boom. The patch is simple - created jabber_bs_remove_events() to cleanup those events, and use it before any code that expects to restart the cycle. So basically the same as doing b_event_remove(bt->tf->watch_out). I hope there aren't more bugs like this in this code.
* s5bytestream: refactor some copypasted code into functionsdequis2015-02-22-89/+47
| | | | | | | | | - get_ft_by_sid() - generate_pseudoaddr() (also uses g_compute_checksum_for_string() to make the code shorter) - jabber_streamhost_new() Behavior should be the same.
* Remove a few stale functions from struct prpl.Wilmer van der Gaast2015-02-22-26/+0
|
* Reindent everything to K&R style with tabsIndent2015-02-20-13887/+14932
| | | | | | | 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.
* Revert "Twitter format strings"dequis2015-02-20-52/+15
| | | | | | This reverts commit ce402b20d82ec323e6bd5e306de934773590742d. See discussion in PR #10 for more details.
* Use glib's GChecksum for md5/sha1dequis2015-01-31-1/+3
| | | | | | | | | | | | | | | | | | | This changes behavior slightly: - md5_init()/sha1_init() allocate a GChecksum - md5_finish()/sha1_finish() close and free() it - md5_digest_keep() was added (no sha1 equivalent needed) And yes, glib has this concept of "closing" the GChecksum, which means it can't be used anymore after g_checksum_get_digest(). jabber_cache_add() actually seems to need to do that to generate some random-ish values, so i kept that working by adding a md5_digest_keep() function that copies the GChecksum before it gets closed GChecksum was introduced in glib 2.16, so the configure script version was bumped. We were already depending on glib 2.16 accidentally (some post-3.2.2 code uses GHashTableIter)
* purple: Implement /kickdequis2015-01-30-0/+9
|