author | Myhailo Danylenko <isbear@ukrpost.net> |
Sat, 07 Nov 2015 17:39:49 +0200 | |
changeset 88 | 0a87df8ad9c1 |
parent 87 | 78238d26911a |
child 90 | bed5beae28c5 |
permissions | -rw-r--r-- |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
1 |
# HG changeset patch |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
2 |
# Parent 43143bc6ddf39de0d04929f589a4fcfa0000b54b |
29
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
3 |
Guard XMPP password with option guard |
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
4 |
|
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
5 |
* instead of filtering access to stored in public place |
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
6 |
restricted data, better store restricted data somewhere else |
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
7 |
* add xmpp_init() and xmpp_have_password (non-api) |
335662766a88
Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
26
diff
changeset
|
8 |
|
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
9 |
diff -r 43143bc6ddf3 mcabber/mcabber/commands.c |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
10 |
--- a/mcabber/mcabber/commands.c Sat Nov 07 14:31:02 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
11 |
+++ b/mcabber/mcabber/commands.c Sat Nov 07 14:37:38 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
12 |
@@ -2303,10 +2303,8 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
13 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
14 |
static void list_option_cb(char *k, char *v, void *f) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
15 |
{ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
16 |
- if (strcmp(k, "password")) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
17 |
- GSList **list = f; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
18 |
- *list = g_slist_insert_sorted(*list, k, (GCompareFunc)strcmp); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
19 |
- } |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
20 |
+ GSList **list = f; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
21 |
+ *list = g_slist_insert_sorted(*list, k, (GCompareFunc)strcmp); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
22 |
} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
23 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
24 |
static void do_set(char *arg) |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
25 |
diff -r 43143bc6ddf3 mcabber/mcabber/main.c |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
26 |
--- a/mcabber/mcabber/main.c Sat Nov 07 14:31:02 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
27 |
+++ b/mcabber/mcabber/main.c Sat Nov 07 14:37:38 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
28 |
@@ -447,6 +447,7 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
29 |
scr_init_locale_charset(); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
30 |
ut_init_debug(); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
31 |
help_init(); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
32 |
+ xmpp_init(); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
33 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
34 |
/* Parsing config file... */ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
35 |
ret = cfg_read_file(configFile, TRUE); |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
36 |
@@ -468,19 +469,21 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
37 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
38 |
/* If no password is stored, we ask for it before entering |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
39 |
ncurses mode -- unless the username is unknown. */ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
40 |
- if (settings_opt_get("jid") && !settings_opt_get("password")) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
41 |
+ if (settings_opt_get("jid") && !xmpp_have_password) { |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
42 |
const char *pass_eval = settings_opt_get("password_eval"); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
43 |
if (pass_eval) { |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
44 |
int status = 0; |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
45 |
char *pwd = password_eval(pass_eval, &status); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
46 |
if (status == 0 && pwd) { |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
47 |
+ /* Will be intercepted by guard */ |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
48 |
settings_set(SETTINGS_TYPE_OPTION, "password", pwd); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
49 |
} |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
50 |
g_free(pwd); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
51 |
} |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
52 |
// If the password is still unset, ask the user... |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
53 |
- if (!settings_opt_get("password")) { |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
54 |
+ if (!xmpp_have_password) { |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
55 |
char *pwd = ask_password("your Jabber password"); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
56 |
+ /* Will be intercepted by guard */ |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
57 |
settings_set(SETTINGS_TYPE_OPTION, "password", pwd); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
58 |
g_free(pwd); |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
59 |
} |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
60 |
diff -r 43143bc6ddf3 mcabber/mcabber/xmpp.c |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
61 |
--- a/mcabber/mcabber/xmpp.c Sat Nov 07 14:31:02 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
62 |
+++ b/mcabber/mcabber/xmpp.c Sat Nov 07 14:37:38 2015 +0200 |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
63 |
@@ -23,6 +23,8 @@ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
64 |
*/ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
65 |
#include <stdlib.h> |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
66 |
#include <string.h> |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
67 |
+#include <sys/mman.h> |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
68 |
+#include <errno.h> |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
69 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
70 |
#include "xmpp.h" |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
71 |
#include "xmpp_helper.h" |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
72 |
@@ -56,6 +58,9 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
73 |
static enum imstatus mywantedstatus = available; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
74 |
gchar *mystatusmsg; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
75 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
76 |
+static char *xmpp_password = NULL; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
77 |
+gboolean xmpp_have_password = FALSE; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
78 |
+ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
79 |
char imstatus2char[imstatus_size+1] = { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
80 |
'_', 'o', 'f', 'd', 'n', 'a', 'i', '\0' |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
81 |
}; |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
82 |
@@ -800,16 +805,15 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
83 |
GError *error = NULL; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
84 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
85 |
if (success) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
86 |
- const char *password, *resource; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
87 |
+ const char *resource; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
88 |
char *username; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
89 |
username = jid_get_username(settings_opt_get("jid")); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
90 |
- password = settings_opt_get("password"); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
91 |
resource = strchr(lm_connection_get_jid(connection), |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
92 |
JID_RESOURCE_SEPARATOR); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
93 |
if (resource) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
94 |
resource++; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
95 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
96 |
- if (!lm_connection_authenticate(lconnection, username, password, resource, |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
97 |
+ if (!lm_connection_authenticate(lconnection, username, xmpp_password, resource, |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
98 |
connection_auth_cb, NULL, FALSE, &error)) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
99 |
scr_LogPrint(LPRINT_LOGNORM, "Failed to authenticate: %s", |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
100 |
error->message); |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
101 |
@@ -1749,13 +1753,37 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
102 |
} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
103 |
} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
104 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
105 |
+static gchar *xmpp_password_guard(const gchar *key, const gchar *new_value) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
106 |
+{ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
107 |
+ if (xmpp_password) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
108 |
+ size_t len = strlen(xmpp_password); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
109 |
+ memset(xmpp_password, '\0', len); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
110 |
+ if (munlock(xmpp_password, len)) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
111 |
+ scr_LogPrint(LPRINT_DEBUG, "password guard: Cannot unlock memory: %s.", |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
112 |
+ strerror(errno)); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
113 |
+ g_free(xmpp_password); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
114 |
+ } |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
115 |
+ xmpp_password = g_strdup(new_value); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
116 |
+ if (xmpp_password) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
117 |
+ if (mlock(xmpp_password, strlen(xmpp_password))) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
118 |
+ scr_LogPrint(LPRINT_DEBUG, "password guard: Cannot lock memory: %s.", |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
119 |
+ strerror(errno)); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
120 |
+ xmpp_have_password = TRUE; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
121 |
+ } |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
122 |
+ return NULL; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
123 |
+} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
124 |
+ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
125 |
+void xmpp_init(void) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
126 |
+{ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
127 |
+ settings_set_guard("password", xmpp_password_guard); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
128 |
+} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
129 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
130 |
// xmpp_connect() |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
131 |
// Return a non-zero value if there's an obvious problem |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
132 |
// (no JID, no password, etc.) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
133 |
gint xmpp_connect(void) |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
134 |
{ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
135 |
- const char *userjid, *password, *resource, *servername, *ssl_fpr; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
136 |
+ const char *userjid, *resource, *servername, *ssl_fpr; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
137 |
char *dynresource = NULL; |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
138 |
char fpr[FINGERPRINT_LENGTH] = {0}; |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
139 |
const char *proxy_host; |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
140 |
@@ -1772,7 +1800,6 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
141 |
|
87
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
142 |
servername = settings_opt_get("server"); |
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
143 |
userjid = settings_opt_get("jid"); |
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
144 |
- password = settings_opt_get("password"); |
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
145 |
resource = settings_opt_get("resource"); |
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
146 |
proxy_host = settings_opt_get("proxy_host"); |
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
147 |
ssl_fpr = settings_opt_get("ssl_fingerprint"); |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
148 |
@@ -1781,7 +1808,7 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
149 |
scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!"); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
150 |
return -1; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
151 |
} |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
152 |
- if (!password) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
153 |
+ if (!xmpp_password) { |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
154 |
scr_LogPrint(LPRINT_LOGNORM, "Your password has not been specified!"); |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
155 |
return -1; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
156 |
} |
88
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
157 |
diff -r 43143bc6ddf3 mcabber/mcabber/xmpp.h |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
158 |
--- a/mcabber/mcabber/xmpp.h Sat Nov 07 14:31:02 2015 +0200 |
0a87df8ad9c1
Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents:
87
diff
changeset
|
159 |
+++ b/mcabber/mcabber/xmpp.h Sat Nov 07 14:37:38 2015 +0200 |
87
78238d26911a
Update series to current dev version
Myhailo Danylenko <isbear@ukrpost.net>
parents:
52
diff
changeset
|
160 |
@@ -34,7 +34,9 @@ |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
161 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
162 |
extern LmConnection* lconnection; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
163 |
extern LmSSL* lssl; |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
164 |
+extern gboolean xmpp_have_password; /* private */ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
165 |
|
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
166 |
+void xmpp_init(void); /* private */ |
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
167 |
int xmpp_connect(void); |
52
887f44e99aa1
Bump API (v37/38), fix completion flags setting
Myhailo Danylenko <isbear@ukrpost.net>
parents:
38
diff
changeset
|
168 |
void xmpp_disconnect(void); |
0
633272cbb544
Initial experimental branch commit
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
169 |
gboolean xmpp_is_online(void); |