| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of now, bitlbee will load any plugin regardless of the ABI it was
built against. This is really problematic when structures or symbols
are changed within bitlbee. This often leads to the plugin not loading
or the plugin acting in an undefined way. Typically a simple rebuild of
the plugin will resolve such issues, but many users have no idea that
this is required after they have updated bitlbee.
Furthermore, it is often times impossible to determine the version of
a plugin, without relying on the package manager of the system. This is
quite a problem when users are reporting bugs for external plugins, and
they have no idea what version of the plugin they are running. This is
also an opportunity to provide additional metadata for each plugin that
can then be displayed to the user.
Solving these issues is done by adding a new required function to each
plugin. The init_plugin_info() function must now be implemented along
with the init_plugin() function. This function then returns a static
structure, which retains all of the metadata for the plugin. Then this
is used by bitlbee to check the ABI version and provide information to
the user.
The introduction of the new function is required as bitlbee needs to
obtain the ABI version before calling init_plugin().
The boiler-plate implementation of init_plugin_info():
#ifdef BITLBEE_ABI_VERSION_CODE
struct plugin_info *init_plugin_info(void)
{
static struct plugin_info info = {
BITLBEE_ABI_VERSION_CODE, /* Required */
"plugin-name", /* Required */
"1.3.3.7", /* Required */
"A short description of the plugin", /* Optional */
"First Last <alias@domain.tld>", /* Optional */
"http://www.domain.tld" /* Optional */
};
return &info;
}
#endif
The example wraps the function declaration in an if block for backwards
compatibility with older bitlbee versions.
Displaying the plugin metadata is done via the newly added "plugins"
command, which simply dumps formatted data to the root channel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, the bee_chat_by_title() call just failed when
receiving a message in a groupchat we didn't know about, which is
probably something skype broke in their api at some point.
I'm fixing this since apparently the only way to access p2p based chats
is through the official skype desktop client (they won't be supported
through msnp24 or skypeweb. It's broken in mobile clients already), so
this plugin is probably the best way to access those.
This breaks the 'msg' test - now all chats are groupchats and there's no
way to tell them apart.
However, in reality, private messages aren't delivered at all over the
api, or at least I never managed to get them working. Probably if you
talk with someone who has a very old patched skype client.
|
|
|
|
|
|
| |
More prefixes = better. The G stands for "good".
(it also fixes the warning about _BSD_SOURCE being deprecated)
|
|
|
|
|
| |
Found the thing using 100% cpu because of a dead connection that it
didn't want to bury.
|
|
|
|
|
|
|
| |
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 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
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| | |
XML-formatted user configs from disk I/O so we can try to start using other
mechanisms to store them (a REST API or something, for example).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Till now only a single line was printed, when a new offer arrived. Now
two more lines are printed:
- when the actual transfer starts (offer accepted), with destination
filename
- when the transfer completes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes /invite working again. No idea when this got broken, but I
promise the next commit will add a tescase for it.
Also, with this, other groupchat members will be already present in the
gropuchat when we chain, finally solving the annoying fake joins
presenting till now.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Requested by martinc on IRC.
|
|/
|
|
|
|
|
|
| |
Sadly reading users of larger groups using the public API just hangs in newer
Skype versions. Skype4Py already defines a timeout for requests, but still:
startup takes *minutes*. Work this around by disabling reading of groups by
default.
|
|
|
|
|
|
|
| |
Also call ssl_disconnect on logout.
Patch-by: meh on IRC.
|
|
|
|
|
| |
Previously we printed only the last one
|
| |
|
|
|
|
|
| |
(Think of Twitter, but also MSN/Yahoo! authentication.)
|
| |
|
|
|
|
|
|
|
| |
(I haven't personally tested that the Skype module *works* after this nor
have I received any reports that either confirm or deny this. This change
just makes it *compile*.)
|
| |
|
|
|
|
| |
MULTI_SUBSCRIBED (works only when user initiates the chat, otherwise new channel is created anyway)
|
| |
|
|
|