aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2011-05-01 17:32:11 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2011-05-01 17:32:11 +0100
commit983bb666b65425aeb2bc8904b4c7cae11d43ded7 (patch)
treedba92d7c0a025696b5919c3bb47c8519803a8d55
parent6963230895c26d054cc3543b03787118e2334c32 (diff)
parent69ef042b64ac1cb2f771d3ae02f27a7e64951222 (diff)
Merging "otr reconnect", bug #740.
-rw-r--r--doc/user-guide/commands.xml19
-rw-r--r--otr.c8
2 files changed, 26 insertions, 1 deletions
diff --git a/doc/user-guide/commands.xml b/doc/user-guide/commands.xml
index 2baed9d0..7a36083f 100644
--- a/doc/user-guide/commands.xml
+++ b/doc/user-guide/commands.xml
@@ -392,7 +392,7 @@
<description>
<para>
- Available subcommands: connect, disconnect, smp, smpq, trust, info, keygen, and forget. See <emphasis>help otr &lt;subcommand&gt;</emphasis> for more information.
+ Available subcommands: connect, disconnect, reconnect, smp, smpq, trust, info, keygen, and forget. See <emphasis>help otr &lt;subcommand&gt;</emphasis> for more information.
</para>
</description>
@@ -423,6 +423,23 @@
</bitlbee-command>
+ <bitlbee-command name="reconnect">
+ <syntax>otr reconnect &lt;nick&gt;</syntax>
+
+ <description>
+
+ <para>
+ Breaks and re-establishes the encrypted connection with the specified user. Useful if something got desynced.
+ </para>
+
+ <para>
+ Equivalent to <emphasis>otr disconnect</emphasis> followed by <emphasis>otr connect</emphasis>.
+ </para>
+
+ </description>
+
+ </bitlbee-command>
+
<bitlbee-command name="smp">
<syntax>otr smp &lt;nick&gt; &lt;secret&gt;</syntax>
diff --git a/otr.c b/otr.c
index b034eae8..1bea9c44 100644
--- a/otr.c
+++ b/otr.c
@@ -85,6 +85,7 @@ const char *op_account_name(void *opdata, const char *account, const char *proto
static void cmd_otr(irc_t *irc, char **args);
void cmd_otr_connect(irc_t *irc, char **args);
void cmd_otr_disconnect(irc_t *irc, char **args);
+void cmd_otr_reconnect(irc_t *irc, char **args);
void cmd_otr_smp(irc_t *irc, char **args);
void cmd_otr_smpq(irc_t *irc, char **args);
void cmd_otr_trust(irc_t *irc, char **args);
@@ -95,6 +96,7 @@ void cmd_otr_forget(irc_t *irc, char **args);
const command_t otr_commands[] = {
{ "connect", 1, &cmd_otr_connect, 0 },
{ "disconnect", 1, &cmd_otr_disconnect, 0 },
+ { "reconnect", 1, &cmd_otr_reconnect, 0 },
{ "smp", 2, &cmd_otr_smp, 0 },
{ "smpq", 3, &cmd_otr_smpq, 0 },
{ "trust", 6, &cmd_otr_trust, 0 },
@@ -693,6 +695,12 @@ const char *op_account_name(void *opdata, const char *account, const char *proto
/*** OTR sub-command handlers ***/
+void cmd_otr_reconnect(irc_t *irc, char **args)
+{
+ cmd_otr_disconnect(irc, args);
+ cmd_otr_connect(irc, args);
+}
+
void cmd_otr_disconnect(irc_t *irc, char **args)
{
irc_user_t *u;