aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
* irc-channel: implemented a special mode for show_usersjgeboski2015-01-28-11/+16
| | | | | | | | | | | | | This allows for users to be declared as being special, which does not have any specific meaning. The meaning of being special is different from protocol-to-protocol, which many protocols do not even implement. This functionality is mainly geared towards a special user state which only some protocols may actually need to define. For example, with the third-party Steam plugin, this can be used for denoting a user which is actively playing a game. By default, this mode will not actually be used by any plugin. However, it does default to the half-operator user mode.
* debian: bitlbee-dev depends either bitlbee or bitlbee-libpurpledequis2015-01-28-1/+1
|
* Merge pull request #5 from seirl/purple_titleWilmer van der Gaast2015-01-26-0/+6
|\ | | | | purple: add topic and name_hint to groupchats
| * 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
| |
* | Twitter format stringsWilliam Pettersson2015-01-26-15/+114
| | | | | | | | | | | | | | | | | | | | | | Allow users to specify how tweets should be displayed 3 new settings are available to set how tweets are displayed: - twitter_format_string for normal tweets - retweet_format_string for retweets - reply_format_string for replies For full documentation see the help files
* | twitter: Add raw reply supportWilliam Pettersson2015-01-26-0/+10
| | | | | | | | | | | | | | By default, "reply" prepends the username of the tweet being replied to. This adds support for a "rawreply" command which does not prepend this username. This is useful for "replying" to your own tweet to maintain a chain of tweets on a singular topic.
* | twitter: implemented filter based group chatsjgeboski2015-01-25-7/+503
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Filter group chats allow for the ability to read the tweets of select users without actually following the users, and/or track keywords or hashtags. A filter group chat can have multiple users, keywords, or hashtags. These users, keywords, or hashtags can span multiple group chats. This allows for rather robust filter organization. The underlying structure for the filters is based on linked list, as using the glib hash tables requires >= glib-2.16 for sanity. Since the glib requirement of bitlbee is only 2.14, linked list are used in order to prevent an overly complex implementation. The idea for this patch was inspired by Artem Savkov's "Twitter search channels" patch. In order to use the filter group chats, a group chat must be added to the twitter account. The channel room name is either follow:username, track:keyword, and/or track:#hashtag. Multiple elements can be used by separating each element by a semicolon.
* | random_bytes: Use /dev/urandom only, don't bother trying /dev/randomdequis2015-01-26-65/+10
| | | | | | | | | | | | Also abort() if there's no /dev/urandom See http://www.2uo.de/myths-about-urandom/ for details.
* | Fix whatsapp local contact listsdequis2015-01-25-13/+12
| | | | | | | | | | | | | | | | | | Had to move the code that adds contacts to imcb_connected to avoid dereferencing a null im_connection. Turns out this kind of local contact lists only applies to renamed contacts, though. It doesn't deal with libpurple's blist.xml at all (it could, there are APIs for it since 2.6.0)
* | jabber: Account-wide display_name setting, for groupchatsdequis2015-01-25-2/+18
| | | | | | | | | | This sets the default value of 'nick' for newly created groupchats. There is no way to set an account-wide nick.
* | Add handle_is_self() prpl function to fix JID mismatch confusion bugsdequis2015-01-25-8/+28
| | | | | | | | | | | | | | | | | | 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
* | Silence some oscar compilation warningsdequis2015-01-25-5/+6
| | | | | | | | And that's enough editing of the oscar protocol code for 2015
* | Run 'make check' from travis.Jelmer Vernooij2015-01-25-2/+2
|/
* Add git specific stuff!dequis2015-01-25-3/+2991
| | | | | | | | - A few build system tweaks - A fancy README.md - s/.bzrignore/.gitignore/ - .travis.yml for travis-ci integration - doc/git-bzr-rev-map for historical purposes
* Merging random other fixes/cleanups.Wilmer van der Gaast2015-01-17-78/+131
|\
| * irc-im: fixed invalid memory reading on chat leavejgeboski2015-01-16-3/+1
| | | | | | | | | | | | | | | | When a chat is left, prpl->chat_leave() is invoked, which is suppose to free the groupchat. Since the data is now freed, or suppose to have been freed, attempting to modify the data will result in bad things. This simply removes an assignment operation, which was unneeded due to the memory already being freed.
| * channel: fixed auto-join occurring when disabledjgeboski2015-01-16-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With the auto_join channel flag set to false, the channel is still auto-joined. This can lead to the channel being "doubly" joined if a client previously sent a channel join request. The result of being "doubly" joined is really undefined, but most notably memory leaks can occur. It also appears, based on the comment under the modified condition, the previous condition was incorrect. Another patch should probably implement some sort of check to ensure a channel is not already joined, assuming the auto_join flag is enabled.
| * Fix UTF8 nick truncation issuesdequis2015-01-16-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When nicks exceeded the length limit, they were cut at 24 bytes and that sometimes left invalid utf8 at the end, which made the nick_ok() validation fail and often broke those nicks completely. This adds a truncate_utf8 function to cut the string at a safe place Also, the method to deduplicate nicks when there's no more place to add underscores was changed to add "_XX" at the end, where XX are two random hex chars. The previous method in those cases was increasing the value of the first character of the nick... which leads to silly and confusing results (i.e. FacebookUser -> GacebookUser)
| * Add jabber_normalize_ext() to fix case sensitivity issues with ext jidsdequis2015-01-16-16/+30
| | | | | | | | | | | | Also refactor jabber_normalize() to be UTF8 aware. See trac ticket 1106 for more details
| * http proxy: only check for "HTTP/1.x 200" in the status stringdequis2015-01-16-2/+2
| | | | | | | | | | It was checking for "Connection established" and some proxies use a different string, such as "Tunnel established" in polipo
| * Fix some more g_source_remove warnings, this time in proxy.cdequis2015-01-16-0/+2
| | | | | | | | Both in gaim_io_connected(), visible when using an http proxy
| * set_setint: use g_strdup_printf instead of relying on a char s[24];dequis2015-01-16-4/+4
| |
| * twitter: minor cleanup, use G_G(U)INT64_FORMAT instead of castingdequis2015-01-16-11/+11
| |
| * msn_ns_send_adl_1: Fix alloc_strlen coverity warningdequis2015-01-16-1/+1
| | | | | | | | Allocating insufficient memory for the terminating null of the string
| * ipc_child_identify: fix a maybe-uninitialized warningdequis2015-01-16-2/+2
| |
| * Fix compiler warnings on Cygwin and Mac OS X.Jason Copenhaver2015-01-16-17/+33
| | | | | | | | | | | | | | | | * Don't use PIE/PIC on Cygwin/Darwin unless specified as these platforms don't support it. * Cleanup warnings for 'make check' build. * Fix the type issue for getsockopt calls. * Fix enum warnings in Yahoo libs on Mac OS X.
| * twitter: start stream from last tweet on connect/reconnectroger2015-01-16-1/+13
| | | | | | | | | | This works by setting the last_tweet hidden account setting to the ID of the last shown tweet.
| * bee-chat: create temporary users for unknown chat participantsjgeboski2015-01-16-3/+9
| | | | | | | | | | | | | | | | The imcb_chat_msg() function is unable to send messages to a chat with a user who was not previously added. This function should allow for the sending of messages with users who are not added. This is suitable for protocols which are sending messages to a chat from random users or a large amount of users which join and part frequently.
| * cmd_otr_keygen: improve argument parsingdequis2015-01-16-13/+4
| |
* | Merge cleanup changes. (FSF address fix, and using GLib variants of someWilmer van der Gaast2015-01-17-230/+229
|\| | | | | | | | | functions which cleans up compiler warnings.)
| * Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-57/+57
| | | | | | | | | | | | | | | | | | | | | | 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
| * Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-173/+172
|/
* msn: configurable notification server host/portdequis2014-12-06-2/+10
|
* Improved signal handling to avoid deadlocksdequis2014-11-26-53/+34
| | | | | | | | | | | | - SIGSEGV: broadcast a message manually, avoiding the usual irc_write() functions which are unsafe due to malloc(). - SIGTERM, SIGINT: Write to a pipe which gets handled in the main loop by bitlbee_shutdown(), saving configs and stuff. - SIGCHLD: set to ignore explicitly, which handles zombies correctly. This also drops some log messages with 'info' level, which in practice means they never got logged. - SIGPIPE: set to ignore (nobody cares) - SIGILL, SIGBUS, SIGFPE, SIGQUIT, SIGXCPU: Not handling anymore.
* Use irc_write_all() to send the message in bitlbee_shutdowndequis2014-11-26-2/+4
| | | | | | This ensures that the message arrives by using the "now" parameter of irc_write_all(), because in my testing it didn't show up (even though surrounding it with printf() worked, in inetd mode)
* twitter: Use g_strcasecmp for screen_namedequis2014-11-24-4/+4
| | | | | | Fixes a few minor bugs with users who have uppercase characters in nicks (see trac ticket 1138). Most notably, the "follow" command showing no feedback that a user was followed
* Use glib functions for base64 decoding/encodingdequis2014-11-24-113/+26
| | | | | | | | | | | | This fixes several coverity warnings about 'tainted data index sink' and a fixme about thread safety in the old base64_decode implementation. Had to adapt the code that used base64_encode_real: - oauth.c: different character set order, but it's for the nonce so it doesn't matter - libyahoo2.c: used as part of the auth, changes "+/=" into "._-". Fixed by encoding first the usual way through glib, then replacing.
* configure: --asan=1 parameter for AddressSanitizerdequis2014-11-24-1/+14
| | | | | | | | Requires gcc >=4.8 or clang >=3.1 AddressSanitizer (ASan) is a fast memory error detector. See also: https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer
* msn: add 'allow' role if contact has neither block nor allowdequis2014-11-17-0/+8
| | | | | This workarounds the problems of showing as offline to other contacts, by sending ADL with role 3 (FL+AL) instead of just 1 (FL, no AL or BL)
* msn_buddy_ask: only ask to add if contact is in pending listdequis2014-11-17-1/+1
| | | | | Previously it asked if they were in pending/reverse but not allow/block. In theory that would fix inconsistent states. And in practice... nope.
* msn: Update ApplicationId again to one used by skypedequis2014-11-17-1/+1
| | | | Because why not
* msn: update ABService ApplicationId to WLM 2012 to fix logindequis2014-11-12-1/+1
| | | | The previous ApplicationId was from WLM 2008 (8.5)
* Merging warning fixes from dx.Wilmer van der Gaast2014-10-27-2/+15
|\
| * dcc: Fix some invalid memory accesses reported by ASANdequis2014-10-27-2/+3
| | | | | | | | ASAN <3
| * Some more g_source_remove warning fixesdequis2014-10-27-0/+12
|/ | | | | - http_incoming_data calling itself - jabber_bs_free_transfer calling jabber_si_free_transfer
* doc/AUTHORS updated to the current state of things.Wilmer van der Gaast2014-10-17-1/+4
|
* Bunch of merges from dx.Wilmer van der Gaast2014-10-17-36/+49
|\
| * nick_lc: use unsigned chars to avoid unicode issuesdequis2014-10-11-2/+2
| |
| * Add support for XEP-0203: Delayed delivery (message timestamps)dequis2014-10-10-11/+38
| | | | | | | | | | | | | | | | 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.