annotate mcabber/mcabber/carbons.c @ 2268:f5402d705f67

Fix FSF addresses in all files
author Mikael Berthe <mikael@lilotux.net>
date Sun, 05 Jun 2016 20:06:46 +0200
parents 2ce6dd6861ea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
1 /*
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
2 * carbons.c -- Support for Message Carbons (XEP 0280)
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
3 *
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
4 * Copyright (C) 2013 Roeland Jago Douma <roeland@famdouma.nl>
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
5 *
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
6 * This program is free software; you can redistribute it and/or modify
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
7 * it under the terms of the GNU General Public License as published by
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or (at
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
9 * your option) any later version.
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
10 *
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
11 * This program is distributed in the hope that it will be useful, but
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
14 * General Public License for more details.
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
15 *
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
16 * You should have received a copy of the GNU General Public License
2268
f5402d705f67 Fix FSF addresses in all files
Mikael Berthe <mikael@lilotux.net>
parents: 2152
diff changeset
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
18 */
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
19
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
20 #include "carbons.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
21 #include "settings.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
22 #include "xmpp_helper.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
23 #include "xmpp_defines.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
24 #include "logprint.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
25 #include "xmpp.h"
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
26
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
27 static int _carbons_available = 0;
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
28 static int _carbons_enabled = 0;
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
29
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
30 static LmHandlerResult cb_carbons(LmMessageHandler *h, LmConnection *c,
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
31 LmMessage *m, gpointer user_data);
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
32
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
33
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
34 void carbons_available()
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
35 {
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
36 int enable = 0;
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
37 _carbons_available = 1;
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
38
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
39 enable = settings_opt_get_int("carbons");
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
40
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
41 if (enable) {
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
42 carbons_enable();
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
43 }
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
44 }
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
45
2152
2ce6dd6861ea Use the Carbons <private/> element for outgoing encrypted messages
Mikael Berthe <mikael@lilotux.net>
parents: 2118
diff changeset
46 gboolean carbons_enabled()
2ce6dd6861ea Use the Carbons <private/> element for outgoing encrypted messages
Mikael Berthe <mikael@lilotux.net>
parents: 2118
diff changeset
47 {
2ce6dd6861ea Use the Carbons <private/> element for outgoing encrypted messages
Mikael Berthe <mikael@lilotux.net>
parents: 2118
diff changeset
48 return (_carbons_enabled != 0);
2ce6dd6861ea Use the Carbons <private/> element for outgoing encrypted messages
Mikael Berthe <mikael@lilotux.net>
parents: 2118
diff changeset
49 }
2ce6dd6861ea Use the Carbons <private/> element for outgoing encrypted messages
Mikael Berthe <mikael@lilotux.net>
parents: 2118
diff changeset
50
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
51 void carbons_enable()
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
52 {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
53 LmMessage *iq;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
54 LmMessageNode *enable;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
55 LmMessageHandler *handler;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
56 GError *error = NULL;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
57
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
58 //We cannot enable carbons if there is no carbons support
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
59 if (_carbons_available == 0) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
60 scr_log_print(LPRINT_NORMAL, "Carbons not available on this server!");
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
61 return;
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
62 }
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
63
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
64 //We only have to enable carbons once
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
65 if (_carbons_enabled == 1) {
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
66 return;
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
67 }
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
68
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
69 iq = lm_message_new_with_sub_type(NULL, LM_MESSAGE_TYPE_IQ,
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
70 LM_MESSAGE_SUB_TYPE_SET);
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
71
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
72 enable = lm_message_node_add_child(iq->node, "enable", NULL);
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
73 lm_message_node_set_attribute(enable, "xmlns", NS_CARBONS_2);
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
74 handler = lm_message_handler_new(cb_carbons, NULL, NULL);
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
75
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
76 if (!lm_connection_send_with_reply(lconnection, iq, handler, &error)) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
77 scr_log_print(LPRINT_DEBUG, "Error sending IQ request: %s.",
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
78 error->message);
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
79 g_error_free(error);
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
80 }
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
81
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
82 lm_message_handler_unref(handler);
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
83 lm_message_unref(iq);
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
84 }
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
85
2118
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
86 // Mark carbons as disabled (e.g. when a connection terminates)
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
87 void carbons_reset()
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
88 {
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
89 _carbons_enabled = 0;
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
90 }
51fde9c25401 Reset carbons when the connection is closed
Mikael Berthe <mikael@lilotux.net>
parents: 2111
diff changeset
91
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
92 void carbons_disable()
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
93 {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
94 LmMessage *iq;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
95 LmMessageNode *disable;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
96 LmMessageHandler *handler;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
97 GError *error = NULL;
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
98
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
99 //We cannot disable carbons if there is no carbon support on the server
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
100 if (_carbons_available == 0) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
101 scr_log_print(LPRINT_NORMAL, "Carbons not available on this server!");
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
102 return;
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
103 }
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
104
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
105 //We can only disable carbons if they are disabled
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
106 if (_carbons_enabled == 0) {
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
107 return;
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
108 }
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
109
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
110 iq = lm_message_new_with_sub_type(NULL, LM_MESSAGE_TYPE_IQ,
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
111 LM_MESSAGE_SUB_TYPE_SET);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
112
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
113 disable = lm_message_node_add_child(iq->node, "disable", NULL);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
114 lm_message_node_set_attribute(disable, "xmlns", NS_CARBONS_2);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
115 handler = lm_message_handler_new(cb_carbons, NULL, NULL);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
116
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
117 if (!lm_connection_send_with_reply(lconnection, iq, handler, &error)) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
118 scr_log_print(LPRINT_DEBUG, "Error sending IQ request: %s.",
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
119 error->message);
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
120 g_error_free(error);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
121 }
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
122
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
123 lm_message_handler_unref(handler);
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
124 lm_message_unref(iq);
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
125
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
126 }
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
127
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
128 void carbons_info()
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
129 {
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
130 if (_carbons_enabled) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
131 scr_log_print(LPRINT_NORMAL, "Carbons enabled.");
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
132 } else {
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
133 if (_carbons_available) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
134 scr_log_print(LPRINT_NORMAL, "Carbons available, but not enabled.");
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
135 } else {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
136 scr_log_print(LPRINT_NORMAL, "Carbons not available.");
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
137 }
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
138 }
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
139 }
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
140
2108
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
141 static LmHandlerResult cb_carbons(LmMessageHandler *h, LmConnection *c,
adfd962e1343 Allow the user to enable/disable carbons from the command line
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2106
diff changeset
142 LmMessage *m, gpointer user_data)
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
143 {
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
144 if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_RESULT) {
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
145 _carbons_enabled = (_carbons_enabled == 0 ? 1 : 0);
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
146 if (_carbons_enabled) {
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
147 scr_log_print(LPRINT_NORMAL, "Carbons enabled.");
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
148 } else {
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
149 scr_log_print(LPRINT_NORMAL, "Carbons disabled.");
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
150 }
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
151 } else {
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
152 //Handle error cases
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
153 }
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
154
2104
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
155 return LM_HANDLER_RESULT_REMOVE_MESSAGE;
c7e9950fa741 Added option to enable carbons (set carbons = 1 in mcabberrc)
Roeland Jago Douma <roeland@famdouma.nl>
parents:
diff changeset
156 }
2106
72876dcf9094 Bit more checks for enabling carbons
Roeland Jago Douma <roeland@famdouma.nl>
parents: 2105
diff changeset
157
2111
9023a6f2bf6c Misc. style updates
Mikael Berthe <mikael@lilotux.net>
parents: 2110
diff changeset
158 /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */