Mercurial > pidgin.yaz
annotate libpurple/plugins/one_time_password.c @ 31592:7986f4e5a05f
jabber: Be friendlier to servers when we have nothing to say.
Don't try to reconnect immediately, but do so when we have something
to send. Untested (I'll test it later), but I'm hoping hsitas444 will
test it first. Refs #13008.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Wed, 12 Jan 2011 14:31:52 +0000 |
parents | 425fc6b6c110 |
children |
rev | line source |
---|---|
25455
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
1 /* |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
2 * One Time Password support plugin for libpurple |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
3 * |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
4 * Copyright (C) 2009, Daniel Atallah <datallah@pidgin.im> |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
5 * |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
6 * This program is free software; you can redistribute it and/or |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
7 * modify it under the terms of the GNU General Public License as |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
8 * published by the Free Software Foundation; either version 2 of the |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
9 * License, or (at your option) any later version. |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
10 * |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
11 * This program is distributed in the hope that it will be useful, but |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
12 * WITHOUT ANY WARRANTY; without even the implied warranty of |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
14 * General Public License for more details. |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
15 * |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
16 * You should have received a copy of the GNU General Public License |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
17 * along with this program; if not, write to the Free Software |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
19 * 02111-1301, USA. |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
20 */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
21 #include "internal.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
22 #include "debug.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
23 #include "plugin.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
24 #include "version.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
25 #include "account.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
26 #include "accountopt.h" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
27 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
28 #define PLUGIN_ID "core-one_time_password" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
29 #define PREF_NAME PLUGIN_ID "_enabled" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
30 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
31 static void |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
32 signed_on_cb(PurpleConnection *conn, void *data) |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
33 { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
34 PurpleAccount *account = purple_connection_get_account(conn); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
35 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
36 if (purple_account_get_bool(account, PREF_NAME, FALSE)) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
37 if(purple_account_get_remember_password(account)) |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
38 purple_debug_error("One Time Password", |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
39 "Unable to enforce one time password for account %s (%s).\n" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
40 "Account is set to remember the password.\n", |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
41 purple_account_get_username(account), |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
42 purple_account_get_protocol_name(account)); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
43 else { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
44 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
45 purple_debug_info("One Time Password", "Clearing password for account %s (%s).\n", |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
46 purple_account_get_username(account), |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
47 purple_account_get_protocol_name(account)); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
48 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
49 purple_account_set_password(account, NULL); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
50 /* TODO: Do we need to somehow clear conn->password ? */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
51 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
52 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
53 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
54 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
55 static gboolean |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
56 plugin_load(PurplePlugin *plugin) |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
57 { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
58 PurplePlugin *prpl; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
59 PurplePluginProtocolInfo *prpl_info; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
60 PurpleAccountOption *option; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
61 GList *l; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
62 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
63 /* Register protocol preference. */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
64 for (l = purple_plugins_get_protocols(); l != NULL; l = l->next) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
65 prpl = (PurplePlugin *)l->data; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
66 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
67 if (prpl_info != NULL && !(prpl_info->options & OPT_PROTO_NO_PASSWORD)) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
68 option = purple_account_option_bool_new(_("One Time Password"), |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
69 PREF_NAME, FALSE); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
70 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
71 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
72 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
73 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
74 /* Register callback. */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
75 purple_signal_connect(purple_connections_get_handle(), "signed-on", |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
76 plugin, PURPLE_CALLBACK(signed_on_cb), NULL); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
77 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
78 return TRUE; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
79 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
80 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
81 static gboolean |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
82 plugin_unload(PurplePlugin *plugin) |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
83 { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
84 PurplePlugin *prpl; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
85 PurplePluginProtocolInfo *prpl_info; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
86 PurpleAccountOption *option; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
87 GList *l, *options; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
88 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
89 /* Remove protocol preference. */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
90 for (l = purple_plugins_get_protocols(); l != NULL; l = l->next) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
91 prpl = (PurplePlugin *)l->data; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
92 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
93 if (prpl_info != NULL && !(prpl_info->options & OPT_PROTO_NO_PASSWORD)) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
94 options = prpl_info->protocol_options; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
95 while (options != NULL) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
96 option = (PurpleAccountOption *) options->data; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
97 if (strcmp(PREF_NAME, purple_account_option_get_setting(option)) == 0) { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
98 prpl_info->protocol_options = g_list_delete_link(prpl_info->protocol_options, options); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
99 purple_account_option_destroy(option); |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
100 break; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
101 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
102 options = options->next; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
103 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
104 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
105 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
106 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
107 /* Callback will be automagically unregistered */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
108 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
109 return TRUE; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
110 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
111 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
112 static PurplePluginInfo info = |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
113 { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
114 PURPLE_PLUGIN_MAGIC, |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
115 PURPLE_MAJOR_VERSION, |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
116 PURPLE_MINOR_VERSION, |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
117 PURPLE_PLUGIN_STANDARD, /**< type */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
118 NULL, /**< ui_requirement */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
119 0, /**< flags */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
120 NULL, /**< dependencies */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
121 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
122 PLUGIN_ID, /**< id */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
123 N_("One Time Password Support"), /**< name */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
124 DISPLAY_VERSION, /**< version */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
125 /** summary */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
126 N_("Enforce that passwords are used only once."), |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
127 /** description */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
128 N_("Allows you to enforce on a per-account basis that passwords not " |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
129 "being saved are only used in a single successful connection.\n" |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
130 "Note: The account password must not be saved for this to work."), |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
131 "Daniel Atallah <datallah@pidgin.im>", /**< author */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
132 PURPLE_WEBSITE, /**< homepage */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
133 plugin_load, /**< load */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
134 plugin_unload, /**< unload */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
135 NULL, /**< destroy */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
136 NULL, /**< ui_info */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
137 NULL, /**< extra_info */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
138 NULL, /**< prefs_info */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
139 NULL, /**< actions */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
140 NULL, /**< reserved 1 */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
141 NULL, /**< reserved 2 */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
142 NULL, /**< reserved 3 */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
143 NULL /**< reserved 4 */ |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
144 }; |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
145 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
146 static void |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
147 init_plugin(PurplePlugin *plugin) |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
148 { |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
149 } |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
150 |
425fc6b6c110
Implementation of a plugin to facilitate use of One Time Passwords by
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff
changeset
|
151 PURPLE_INIT_PLUGIN(one_time_password, init_plugin, info) |