guard-xmpp-password.diff
author Myhailo Danylenko <isbear@ukrpost.net>
Fri, 04 Mar 2016 14:17:38 +0200
changeset 90 bed5beae28c5
parent 88 0a87df8ad9c1
child 92 66f7e2aa040c
permissions -rw-r--r--
Refresh queue for v1.0.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
88
0a87df8ad9c1 Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents: 87
diff changeset
     1
# HG changeset patch
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
     2
# Parent  6a07f127a10b06c5314e76713bebce46f40c602a
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
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
     9
diff -r 6a07f127a10b mcabber/mcabber/commands.c
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    10
--- a/mcabber/mcabber/commands.c	Fri Mar 04 13:54:13 2016 +0200
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    11
+++ b/mcabber/mcabber/commands.c	Fri Mar 04 13:55:29 2016 +0200
88
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)
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    25
diff -r 6a07f127a10b mcabber/mcabber/main.c
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    26
--- a/mcabber/mcabber/main.c	Fri Mar 04 13:54:13 2016 +0200
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    27
+++ b/mcabber/mcabber/main.c	Fri Mar 04 13:55:29 2016 +0200
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    28
@@ -451,6 +451,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);
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    36
@@ -472,19 +473,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
     }
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    60
diff -r 6a07f127a10b mcabber/mcabber/xmpp.c
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    61
--- a/mcabber/mcabber/xmpp.c	Fri Mar 04 13:54:13 2016 +0200
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    62
+++ b/mcabber/mcabber/xmpp.c	Fri Mar 04 13:55:29 2016 +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"
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    72
@@ -58,6 +60,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
 };
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
    82
@@ -816,16 +821,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);
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   101
@@ -1765,13 +1769,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;
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   138
 #ifndef LOUDMOUTH_USES_SHA256
88
0a87df8ad9c1 Refresh queue for new mcabber
Myhailo Danylenko <isbear@ukrpost.net>
parents: 87
diff changeset
   139
   char fpr[FINGERPRINT_LENGTH] = {0};
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   140
@@ -1790,7 +1818,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");
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   148
@@ -1799,7 +1826,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
   }
90
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   157
diff -r 6a07f127a10b mcabber/mcabber/xmpp.h
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   158
--- a/mcabber/mcabber/xmpp.h	Fri Mar 04 13:54:13 2016 +0200
bed5beae28c5 Refresh queue for v1.0.2
Myhailo Danylenko <isbear@ukrpost.net>
parents: 88
diff changeset
   159
+++ b/mcabber/mcabber/xmpp.h	Fri Mar 04 13:55:29 2016 +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);