--- a/guard-xmpp-password Sun Apr 11 20:53:04 2010 +0300
+++ b/guard-xmpp-password Tue Apr 13 01:37:44 2010 +0300
@@ -1,7 +1,7 @@
-diff -r cc9cb758d7ae mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c Fri Apr 02 00:51:29 2010 +0300
-+++ b/mcabber/mcabber/commands.c Fri Apr 02 01:05:03 2010 +0300
-@@ -2087,10 +2087,8 @@
+diff -r dbd800b82035 mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c Tue Apr 13 01:30:56 2010 +0300
++++ b/mcabber/mcabber/commands.c Tue Apr 13 01:32:14 2010 +0300
+@@ -2085,10 +2085,8 @@
static void list_option_cb(char *k, char *v, void *f)
{
@@ -14,9 +14,9 @@
}
static void do_set(char *arg)
-diff -r cc9cb758d7ae mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c Fri Apr 02 00:51:29 2010 +0300
-+++ b/mcabber/mcabber/main.c Fri Apr 02 01:05:03 2010 +0300
+diff -r dbd800b82035 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c Tue Apr 13 01:30:56 2010 +0300
++++ b/mcabber/mcabber/main.c Tue Apr 13 01:32:14 2010 +0300
@@ -379,6 +379,7 @@
scr_init_locale_charset();
ut_init_debug();
@@ -25,26 +25,20 @@
/* Parsing config file... */
ret = cfg_read_file(configFile, TRUE);
-@@ -390,7 +391,7 @@
+@@ -399,8 +400,9 @@
/* If no password is stored, we ask for it before entering
ncurses mode -- unless the username is unknown. */
- if (settings_opt_get("jid") && !settings_opt_get("password")) {
+ if (settings_opt_get("jid") && !xmpp_have_password) {
- const char *p;
- char *pwd;
- p = settings_opt_get("server");
-@@ -401,6 +402,7 @@
- printf("User JID: %s\n", p);
-
- pwd = ask_password("your Jabber password");
+ char *pwd = ask_password("your Jabber password");
+ /* Will be intercepted by guard */
settings_set(SETTINGS_TYPE_OPTION, "password", pwd);
g_free(pwd);
}
-diff -r cc9cb758d7ae mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c Fri Apr 02 00:51:29 2010 +0300
-+++ b/mcabber/mcabber/xmpp.c Fri Apr 02 01:05:03 2010 +0300
+diff -r dbd800b82035 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c Tue Apr 13 01:30:56 2010 +0300
++++ b/mcabber/mcabber/xmpp.c Tue Apr 13 01:32:14 2010 +0300
@@ -23,6 +23,8 @@
*/
#include <stdlib.h>
@@ -83,7 +77,7 @@
connection_auth_cb, NULL, FALSE, &error)) {
scr_LogPrint(LPRINT_LOGNORM, "Failed to authenticate: %s",
error->message);
-@@ -1633,13 +1637,37 @@
+@@ -1646,13 +1650,37 @@
}
}
@@ -122,7 +116,7 @@
char *dynresource = NULL;
char fpr[16];
const char *proxy_host;
-@@ -1656,7 +1684,6 @@
+@@ -1669,7 +1697,6 @@
servername = settings_opt_get("server");
userjid = settings_opt_get("jid");
@@ -130,7 +124,7 @@
resource = settings_opt_get("resource");
proxy_host = settings_opt_get("proxy_host");
ssl_fpr = settings_opt_get("ssl_fingerprint");
-@@ -1665,7 +1692,7 @@
+@@ -1678,7 +1705,7 @@
scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!");
return -1;
}
@@ -139,9 +133,9 @@
scr_LogPrint(LPRINT_LOGNORM, "Your password has not been specified!");
return -1;
}
-diff -r cc9cb758d7ae mcabber/mcabber/xmpp.h
---- a/mcabber/mcabber/xmpp.h Fri Apr 02 00:51:29 2010 +0300
-+++ b/mcabber/mcabber/xmpp.h Fri Apr 02 01:05:03 2010 +0300
+diff -r dbd800b82035 mcabber/mcabber/xmpp.h
+--- a/mcabber/mcabber/xmpp.h Tue Apr 13 01:30:56 2010 +0300
++++ b/mcabber/mcabber/xmpp.h Tue Apr 13 01:32:14 2010 +0300
@@ -31,7 +31,9 @@
extern LmConnection* lconnection;
--- a/muc-multiple-statuses Sun Apr 11 20:53:04 2010 +0300
+++ b/muc-multiple-statuses Tue Apr 13 01:37:44 2010 +0300
@@ -1,7 +1,7 @@
-diff -r 9cdfb8ad447b mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c Fri Apr 02 02:08:25 2010 +0300
-+++ b/mcabber/mcabber/xmpp.c Fri Apr 02 02:17:03 2010 +0300
-@@ -1289,7 +1289,7 @@
+diff -r 78d73bda30e4 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c Tue Apr 13 01:32:52 2010 +0300
++++ b/mcabber/mcabber/xmpp.c Tue Apr 13 01:33:35 2010 +0300
+@@ -1300,7 +1300,7 @@
x = lm_message_node_find_xmlns(m->node,
"http://jabber.org/protocol/muc#user");
if (x && !strcmp(x->name, "x"))
@@ -10,10 +10,10 @@
x = lm_message_node_find_xmlns(m->node, NS_X_CONFERENCE);
-diff -r 9cdfb8ad447b mcabber/mcabber/xmpp_muc.c
---- a/mcabber/mcabber/xmpp_muc.c Fri Apr 02 02:08:25 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.c Fri Apr 02 02:17:03 2010 +0300
-@@ -403,8 +403,6 @@
+diff -r 78d73bda30e4 mcabber/mcabber/xmpp_muc.c
+--- a/mcabber/mcabber/xmpp_muc.c Tue Apr 13 01:32:52 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.c Tue Apr 13 01:33:35 2010 +0300
+@@ -405,8 +405,6 @@
enum imstatus ust, const char *ustmsg,
time_t usttime, char bpprio)
{
@@ -22,7 +22,7 @@
char *mbuf;
const char *ournick;
enum imrole mbrole = role_none;
-@@ -414,6 +412,7 @@
+@@ -416,6 +414,7 @@
const char *mbjid = NULL, *mbnick = NULL;
const char *actorjid = NULL, *reason = NULL;
bool new_member = FALSE; // True if somebody else joins the room (not us)
@@ -30,7 +30,7 @@
guint statuscode = 0;
guint nickchange = 0;
GSList *room_elt;
-@@ -444,30 +443,92 @@
+@@ -446,30 +445,92 @@
if (!ournick) {
// It shouldn't happen, probably a server issue
@@ -139,7 +139,7 @@
// Get the room's "print_status" settings
printstatus = buddy_getprintstatus(room_elt->data);
if (printstatus == status_default) {
-@@ -490,7 +551,7 @@
+@@ -492,7 +553,7 @@
g_free(mbuf);
buddy_resource_setname(room_elt->data, rname, mbnick);
// Maybe it's _our_ nickname...
@@ -148,15 +148,15 @@
buddy_setnickname(room_elt->data, mbnick);
nickchange = TRUE;
}
-@@ -499,7 +560,6 @@
- if (!mbnick && ust == offline) {
+@@ -501,7 +562,6 @@
+ if (statuscode != 303 && ust == offline) {
// Somebody is leaving
enum { leave=0, kick, ban } how = leave;
- bool we_left = FALSE;
if (statuscode == 307)
how = kick;
-@@ -507,8 +567,7 @@
+@@ -509,8 +569,7 @@
how = ban;
// If this is a leave, check if it is ourself
@@ -166,16 +166,16 @@
buddy_setinsideroom(room_elt->data, FALSE);
buddy_setnickname(room_elt->data, NULL);
buddy_del_all_resources(room_elt->data);
-@@ -530,7 +589,7 @@
- (how == ban ? "banned" : "kicked"),
- roomjid);
+@@ -535,7 +594,7 @@
}
+ if (reason)
+ reason_msg = g_strdup_printf("\nReason: %s", reason);
- if (we_left)
+ if (our_presence)
- mbuf = g_strdup_printf("You have been %s", mbuf_end);
+ mbuf = g_strdup_printf("You have been %s%s", mbuf_end,
+ reason_msg ? reason_msg : "");
else
- mbuf = g_strdup_printf("%s has been %s", rname, mbuf_end);
-@@ -538,7 +597,7 @@
+@@ -546,7 +605,7 @@
g_free(mbuf_end);
} else {
// Natural leave
@@ -184,7 +184,7 @@
LmMessageNode *destroynode = lm_message_node_find_child(xmldata,
"destroy");
if (destroynode) {
-@@ -571,9 +630,9 @@
+@@ -579,9 +638,9 @@
// Display the mbuf message if we're concerned
// or if the print_status isn't set to none.
@@ -196,7 +196,7 @@
msgflags |= HBB_PREFIX_NOFLAG;
scr_WriteIncomingMessage(roomjid, mbuf, usttime, msgflags, 0);
}
-@@ -581,26 +640,31 @@
+@@ -589,26 +648,31 @@
if (log_muc_conf)
hlog_write_message(roomjid, 0, -1, mbuf);
@@ -241,7 +241,7 @@
}
}
-@@ -726,26 +790,87 @@
+@@ -734,26 +798,87 @@
// Specific MUC message handling (for example invitation processing)
@@ -340,9 +340,9 @@
}
/* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */
-diff -r 9cdfb8ad447b mcabber/mcabber/xmpp_muc.h
---- a/mcabber/mcabber/xmpp_muc.h Fri Apr 02 02:08:25 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.h Fri Apr 02 02:17:03 2010 +0300
+diff -r 78d73bda30e4 mcabber/mcabber/xmpp_muc.h
+--- a/mcabber/mcabber/xmpp_muc.h Tue Apr 13 01:32:52 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.h Tue Apr 13 01:33:35 2010 +0300
@@ -14,7 +14,8 @@
void roompresence(gpointer room, void *presencedata);
void got_invite(const char* from, const char *to, const char* reason,