pidgin/pidgin

Embed SOCKS5 proxying in Jabber SI xfer code

2020-11-05, Elliott Sales de Andrade
f2d29265494b
Embed SOCKS5 proxying in Jabber SI xfer code

So it turns out that the `purple_proxy_connect_socks5_account` does use the Gio proxy code, but then wraps it up in our old file descriptor concepts. Instead, put that code directly in Jabber, which will eventually make it easier to use straight gio instead of file descriptors.

* Add a cancellable on JabberSIXfer.
* Embed SOCKS5 code directly in jabber SI xfer code.

Testing Done:
Compile only.

Reviewed at https://reviews.imfreedom.org/r/201/
<?xml version='1.0' encoding="ISO-8859-1"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<chapter id="chapter-signals-cmd">
<title>Command signals</title>
<refsect1 id="cmds.signals" role="signal_proto">
<title role="signal_proto.title">List of signals</title>
<synopsis>
&quot;<link linkend="cmds-cmd-added">cmd-added</link>&quot;
&quot;<link linkend="cmds-cmd-removed">cmd-removed</link>&quot;
</synopsis>
</refsect1>
<refsect1 id="cmds.signal-details" role="signals">
<title role="signals.title">Signal details</title>
<refsect2 id="cmds-cmd-added" role="signal">
<title>The <literal>&quot;cmd-added&quot;</literal> signal</title>
<programlisting>
void user_function (const char *command,
PurpleCmdPriority priority,
PurpleCmdFlag flag,
gpointer user_data)
</programlisting>
<para>
Emitted when a new command is added.
</para>
<variablelist role="params">
<varlistentry>
<term><parameter>command</parameter>&#160;:</term>
<listitem><simpara>The new command.</simpara></listitem>
</varlistentry>
<varlistentry>
<term><parameter>priority</parameter>&#160;:</term>
<listitem><simpara>The priority of the new command.</simpara></listitem>
</varlistentry>
<varlistentry>
<term><parameter>flag</parameter>&#160;:</term>
<listitem><simpara>The command flags.</simpara></listitem>
</varlistentry>
<varlistentry>
<term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 id="cmds-cmd-removed" role="signal">
<title>The <literal>&quot;cmd-removed&quot;</literal> signal</title>
<programlisting>
void user_function (const char *command,
gpointer user_data)
</programlisting>
<para>
Emitted when a command is removed.
</para>
<variablelist role="params">
<varlistentry>
<term><parameter>command</parameter>&#160;:</term>
<listitem><simpara>The removed command.</simpara></listitem>
</varlistentry>
<varlistentry>
<term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
</chapter>