aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/purple/purple.c
Commit message (Collapse)AuthorAgeLines
...
* purple: avoid warnings in the PURPLE_INPUT_* enum checksdequis2015-11-30-5/+2
| | | | Also turn them into asserts because that's what it really does.
* purple: fix a bunch of small leaksdequis2015-11-25-0/+11
| | | | | Most of them related to channel joins, one of them related to my recent certificate pool path fix.
* purple: fix /join #channel, which joined a different channeldequis2015-11-25-4/+12
| | | | | | | | | | | | | | | | | | | | When joining named channels, purple_chat_join() returned NULL instead of a struct groupchat, which was actually created in the conversation created callback (prplcb_conv_new()). If the name of this channel turned out to be different to the joined one, this meant having one empty window in the irc client, and another one for the other channel. The fix is to return a mostly-empty struct groupchat immediately, and pick it up later when the PurpleConversation is created using bee_chat_by_title(). If that fails, fall back to creating a new one. This bug also meant there was no proper way to report a join failure. Future commits will address that, this one just makes that easier. Thanks to Etan Reisner (deryni) for enlightening me while i was trying to figure out how to fix this.
* purple: Fix certificate cache dir after changing user dirdequis2015-10-25-0/+6
| | | | | | | | | | | | | | | | This fixes the issue with getting asked to accept certificates that are perfectly valid, every time. The directory is normally created by x509_tls_peers_init(), a few calls below purple_core_init(), which is at module initialization time, way before we have an irc username to fix the user directory. So it creates the wrong directory first, and now we have to fix it manually. And apparently not being able to save cached certificates somehow means they aren't trusted. For some reason. < krisfremen> "for some reason" < dx> idklol
* socks4a proxy support (like socks4 with remote DNS)dequis2015-10-21-0/+7
| | | | | | | | | Fixes trac ticket 995 https://bugs.bitlbee.org/bitlbee/ticket/995 This is slightly pointless for the suggested use case (tor), since with socks5 we already send a hostname instead of an IP address. Either way, it was easy to implement, so I hope it helps.
* Rename mail notification related settings for consistencydequis2015-05-28-3/+3
| | | | | - GMail notifications stuff is now just 'mail_notifications' - sed -i s/notify_handle/mail_notifications_handle/
* imcb_notify_email: change parameters to take a format stringdequis2015-05-28-3/+1
| | | | | | | Saves some messing with g_strdup_printf for the callers, and flags/sent_at weren't used anyway. Also check if the mail_notifications setting is enabled
* Gmail notifications support through new imcb_notify_email() APIArtem Savkov2015-05-28-1/+10
|
* 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/+61
|
* 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.
* 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-43/+58
|
* 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.
* Reindent everything to K&R style with tabsIndent2015-02-20-695/+696
| | | | | | | 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.
* purple: Implement /kickdequis2015-01-30-0/+9
|
* purple: add NULL guard around topic and name hintAntoine Pietri2015-01-26-2/+5
|
* purple: add topic and name_hint to groupchatsAntoine Pietri2015-01-25-0/+3
|
* Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-2/+2
| | | | | | | | | | | This fixes warnings about passing signed chars to them (apparently they are implemented as macros that do array lookups without checks in some platforms, yay) Specifically: functions=isalnum|isalpha|isdigit|isspace|isxdigit|tolower|toupper sed -ir "s/$functions/g_ascii_&/g" **/*.c
* 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.
* Try to show the user_split info for a protocol in "help purple $PROTOCOL".Wilmer van der Gaast2012-01-30-0/+10
| | | | | | | This in response to #898. I could also try to make each split a separate setting but that'd make the Jabber module very ugly for example, requiring the user to split up his/her JID. Let's hope people read this help info..
* Report mysterious unsupported libpurple options in "help purple $PROTOCOL".Wilmer van der Gaast2012-01-30-0/+2
| | | | | Mostly an attempt to explain what's up with #898.
* Read both alias and server_alias properties for libpurple contacts. TBH IWilmer van der Gaast2011-12-11-0/+2
| | | | | | don't even know what's the difference, but this fixes Facebook nicks when using libpurple.
* rename irc_usermsg to irc_rootmsg.unknown2011-10-03-1/+1
| | | | | | add new irc_usermsg, irc_usernotice. deliver user-specific messages from libotr as notices to that user.
* Set the libpurple proxy server in a way that should work with olderWilmer van der Gaast2011-03-26-2/+1
| | | | | libpurple versions.
* Fixed proxy support with libpurple.Wilmer van der Gaast2011-03-07-0/+22
|
* At least don't disable Twitter anymore for libpurple builds. libpurpleWilmer van der Gaast2010-12-07-0/+5
| | | | | | | | | | | doesn't have Twitter support by default and it's unlikely that someone will prefer libpurple-twitter over BitlBee's Twitter code anyway. Also automatically disable libpurple protocol modules if a native variant is already set up. The linking conflict works the other way around (libpurple modules may break if native modules for the same protocol are compiled in) so this should mostly resolve the linking conflict problem.
* Fetch Gadu-Gadu contact lists (libpurple-specific hardcoding hack). BugWilmer van der Gaast2010-11-21-0/+61
| | | | | #679. Patch from "rover.orna".
* libpurple insists on storing its own version of reality somewhere. I wasWilmer van der Gaast2010-09-06-9/+35
| | | | | using /tmp so far but this wasn't a good idea. Try to use something saner.
* libpurple: Fix typing notifications (in and out). Closes #671.Wilmer van der Gaast2010-08-20-11/+39
|
* libpurple: Add contacts to groups when requested. Still not dealing wellWilmer van der Gaast2010-07-18-1/+10
| | | | | with contacts in multiple groups.
* Try to pass a group when removing a contact. No idea what will happen ifWilmer van der Gaast2010-07-17-6/+12
| | | | | | | a contact is in multiple groups, for now I'm not supporting it. Also cleaning up query code to avoid calling NULL.
* libpurple: Read group information of contacts.Wilmer van der Gaast2010-07-17-22/+21
|
* libpurple: Handle incoming authorization requests.Wilmer van der Gaast2010-07-17-14/+44
|
* nick_gen() should also insert an underscore if the first character of a nickWilmer van der Gaast2010-07-17-6/+11
| | | | | would otherwise be a digit.
* When cleaning up queries, q->data is free()d. Even if it turns out to beWilmer van der Gaast2010-07-11-1/+1
| | | | | | | the "struct irc" containing all data belonging to a session. Sanitise memory management a little bit here. (There are some memory leaks in here too that need to be fixed at some point.)
* Show idle + login time info in /WHOIS (if available).Wilmer van der Gaast2010-06-07-0/+4
|
* Merging killerbee stuff, bringing all the bleeding-edge stuff together.Wilmer van der Gaast2010-06-07-6/+11
|
* Read display names. Setting them is going to be an awesome hack.Wilmer van der Gaast2010-05-24-0/+22
|
* Support for named groupchats, although not very solid.Wilmer van der Gaast2010-05-22-8/+44
|
* Enable changing and viewing of block/allow lists.Wilmer van der Gaast2010-05-22-0/+75
|
* Return ui_info so jabber:iq:version responses will not say just libpurple.Wilmer van der Gaast2010-05-22-0/+15
|
* Added support for the info command.Wilmer van der Gaast2010-05-22-0/+62
|
* Sigh. Enable debugging only if the BITLBEE_DEBUG variable is set.Wilmer van der Gaast2010-05-22-1/+3
|
* Fixed sending with proper filenames by creating a temporary directory withWilmer van der Gaast2010-05-21-1/+1
| | | | | | | | the file in it; protocol modules are mostly hardcoded to use the filename from the filesystem with no way to override this. Also improved robustness a little bit.
* Suppress auto-reconnect when required (auth errors and concurrent loginsWilmer van der Gaast2010-05-18-1/+1
| | | | | probably, not sure what sets the wants_to_die flag).
* Little cleanup. Less compiler warnings, and removing tempfile at theWilmer van der Gaast2010-05-18-3/+4
| | | | | beginning of the download already to make sure it doesn't stick around.
* purple_conv_chat_invite_user() is libpurple >= 2.6.0, so useWilmer van der Gaast2010-05-18-1/+4
| | | | | serv_chat_invite() instead.
* Split off the file transfer stuff into a separate file. What a mess.Wilmer van der Gaast2010-05-17-197/+2
|