# HG changeset patch # User Mikael Berthe # Date 1164569074 -3600 # Node ID ea71d31a260774e95ab130d33cdbda7629c86a06 # Parent ad5de4d1ee5683fc5b0fe2dbf56fdcd648756542 PGP: Do not sign presence messages to chatrooms We do not sign auto-away messages either. diff -r ad5de4d1ee56 -r ea71d31a2607 mcabber/src/commands.c --- a/mcabber/src/commands.c Sun Nov 26 20:08:18 2006 +0100 +++ b/mcabber/src/commands.c Sun Nov 26 20:24:34 2006 +0100 @@ -699,7 +699,7 @@ if (recipient && !msg) msg = ""; - jb_setstatus(st, recipient, msg); + jb_setstatus(st, recipient, msg, FALSE); free_arg_lst(paramlst); } @@ -1951,7 +1951,7 @@ roomid = g_strdup_printf("%s/%s", buddy_getjid(bud), nickname); desc = to_utf8(arg); - jb_setstatus(offline, roomid, desc); + jb_setstatus(offline, roomid, desc, TRUE); g_free(desc); g_free(roomid); } diff -r ad5de4d1ee56 -r ea71d31a2607 mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Sun Nov 26 20:08:18 2006 +0100 +++ b/mcabber/src/jabglue.c Sun Nov 26 20:24:34 2006 +0100 @@ -136,7 +136,7 @@ if (online) { // Announce it to everyone else - jb_setstatus(offline, NULL, ""); + jb_setstatus(offline, NULL, "", FALSE); // End the XML flow jb_send_raw(""); /* @@ -337,7 +337,7 @@ if (!nickname) return; to = g_strdup_printf("%s/%s", jid, nickname); - jb_setstatus(pres->st, to, pres->msg); + jb_setstatus(pres->st, to, pres->msg, TRUE); g_free(to); } @@ -403,7 +403,8 @@ return x; } -void jb_setstatus(enum imstatus st, const char *recipient, const char *msg) +void jb_setstatus(enum imstatus st, const char *recipient, const char *msg, + int do_not_sign) { xmlnode x; @@ -433,7 +434,7 @@ const char *s_msg = (st != invisible ? msg : NULL); x = presnew(st, recipient, s_msg); #ifdef HAVE_GPGME - if (s_msg && *s_msg && gpg_enabled()) { + if (!do_not_sign && s_msg && *s_msg && gpg_enabled()) { char *signature = gpg_sign(s_msg); if (signature) { xmlnode y; @@ -488,7 +489,7 @@ // Set previous status. This wrapper function is used after a disconnection. inline void jb_setprevstatus(void) { - jb_setstatus(mywantedstatus, NULL, mystatusmsg); + jb_setstatus(mywantedstatus, NULL, mystatusmsg, FALSE); } // new_msgid() @@ -1525,7 +1526,7 @@ g_free(mbuf); // Send back an unavailable packet - jb_setstatus(offline, jid, ""); + jb_setstatus(offline, jid, "", TRUE); // MUC // Make sure this is a room (it can be a conversion user->room) @@ -1804,7 +1805,7 @@ scr_WriteIncomingMessage(roomjid, mbuf, 0, HBB_PREFIX_INFO); g_free(mbuf); // Send back an unavailable packet - jb_setstatus(offline, roomjid, ""); + jb_setstatus(offline, roomjid, "", TRUE); scr_DrawRoster(); return; } diff -r ad5de4d1ee56 -r ea71d31a2607 mcabber/src/jabglue.h --- a/mcabber/src/jabglue.h Sun Nov 26 20:08:18 2006 +0100 +++ b/mcabber/src/jabglue.h Sun Nov 26 20:24:34 2006 +0100 @@ -58,7 +58,8 @@ void jb_updatebuddy(const char *jid, const char *name, const char *group); inline enum imstatus jb_getstatus(void); inline const char *jb_getstatusmsg(void); -void jb_setstatus(enum imstatus st, const char *recipient, const char *msg); +void jb_setstatus(enum imstatus st, const char *recipient, const char *msg, + int do_not_sign); inline void jb_setprevstatus(void); void jb_send_msg(const char *jid, const char *text, int type, const char *subject, const char *id); diff -r ad5de4d1ee56 -r ea71d31a2607 mcabber/src/screen.c --- a/mcabber/src/screen.c Sun Nov 26 20:08:18 2006 +0100 +++ b/mcabber/src/screen.c Sun Nov 26 20:24:34 2006 +0100 @@ -1387,10 +1387,10 @@ msg = prevmsg; if (prevmsg) oldmsg = g_strdup(prevmsg); - jb_setstatus(away, NULL, msg); + jb_setstatus(away, NULL, msg, TRUE); } else { // Back - jb_setstatus(oldstatus, NULL, (oldmsg ? oldmsg : "")); + jb_setstatus(oldstatus, NULL, (oldmsg ? oldmsg : ""), FALSE); if (oldmsg) { g_free(oldmsg); oldmsg = NULL;