| Commit message (Collapse) | Author | Age | Lines |
|
|
|
| |
Added date to doc/CHANGES and fixed "make tar".
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes "Error opening helpfile." that was introduced by the rawreply
commit, which made the help string for "help set commands" larger than
1100 bytes, making the strstr(s, "\n%\n") condition fail
I have absolutely no idea why it was 1100 to begin with. It's been like
that since the first revision. 2048 is arbitrary too, but it's nicer.
Needless to say, the help.c code needs to be reviewed more deeply, at
least. Could also use that opportunity to get rid of the xmlto/xslt crap.
Not going to do that right now, i don't want to add more bugs.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
I didn't want to do the next release with a broken msn, but...
gotta be realistic.
Also featuring shameless plug.
|
|
|
|
|
|
|
| |
Yeah ok that was dumb.
This is essentially just using a 'data' variable instead of 'l->data',
but i went ahead and cleaned up the function.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
From coverity. Would cause an invalid write if read() fails
(but open() doesn't)
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Fixes issues such as parsing "reply eo" as replying to "0e",
as reported by torrancew
|
| |
|
| |
|
|
|
|
|
| |
Shouldn't affect anything, and still doesn't allow initializing
libpurple more than once, but whatever.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
them up.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
This reverts commit ce402b20d82ec323e6bd5e306de934773590742d.
See discussion in PR #10 for more details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
With similar commands being supported, such as INVITE, the KICK command
should be supported as well. The key motivation behind supporting KICK
is having for having a way to remove users from group chats. As of now,
there is no way for a bitlbee user to remove a user from a group chat.
With no current KICK implementation, it made using this command a prime
candidate for the UI side of this implementation. In addition, the KICK
command has been supported in the control channel as well. This is to
keep the INVITE/KICK pair consistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| | |
purple: add topic and name_hint to groupchats
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Also abort() if there's no /dev/urandom
See http://www.2uo.de/myths-about-urandom/ for details.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
This sets the default value of 'nick' for newly created groupchats.
There is no way to set an account-wide nick.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
And that's enough editing of the oscar protocol code for 2015
|
|/ |
|