Hello community,

here is the log from the commit of package purple-rocketchat for 
openSUSE:Factory checked in at 2019-03-10 09:37:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/purple-rocketchat (Old)
 and      /work/SRC/openSUSE:Factory/.purple-rocketchat.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "purple-rocketchat"

Sun Mar 10 09:37:09 2019 rev:4 rq:682600 version:0.0+hg20190218

Changes:
--------
--- /work/SRC/openSUSE:Factory/purple-rocketchat/purple-rocketchat.changes      
2019-02-27 15:06:23.954442437 +0100
+++ 
/work/SRC/openSUSE:Factory/.purple-rocketchat.new.28833/purple-rocketchat.changes
   2019-03-10 09:37:13.604149640 +0100
@@ -1,0 +2,13 @@
+Tue Mar  5 15:19:33 UTC 2019 - [email protected]
+
+- Update to version 0.0+hg20190218 (changes since 0.0+hg20181203):
+  * Add some additional null checks to fix segfault when adding new
+    rocketchat server.
+  * librocketchat: Avoid NULL pointer assertions.
+  * librocketchat: Remove unneded call for group creation.
+  * librocketchat: Add default group configuration.
+  * Disconnect the account if the SSL cert was invalid.
+  * Fix for segfault when trying to remove an invalid username from
+    storage.
+
+-------------------------------------------------------------------

Old:
----
  purple-rocketchat-0.0+hg20181203.tar.xz

New:
----
  purple-rocketchat-0.0+hg20190218.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ purple-rocketchat.spec ++++++
--- /var/tmp/diff_new_pack.h1Crbx/_old  2019-03-10 09:37:14.088149524 +0100
+++ /var/tmp/diff_new_pack.h1Crbx/_new  2019-03-10 09:37:14.092149523 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package purple-rocketchat
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,16 +18,13 @@
 
 %define _name   rocketchat
 Name:           purple-rocketchat
-Version:        0.0+hg20181203
+Version:        0.0+hg20190218
 Release:        0
 Summary:        RocketChat protocol plugin for libpurple
 License:        GPL-2.0-or-later
 Group:          Productivity/Networking/Instant Messenger
 URL:            https://bitbucket.org/EionRobb/purple-rocketchat
 Source:         %{name}-%{version}.tar.xz
-BuildRequires:  autoconf
-BuildRequires:  automake
-BuildRequires:  libtool
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(glib-2.0) >= 2.28.0
 BuildRequires:  pkgconfig(json-glib-1.0)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.h1Crbx/_old  2019-03-10 09:37:14.112149519 +0100
+++ /var/tmp/diff_new_pack.h1Crbx/_new  2019-03-10 09:37:14.112149519 +0100
@@ -4,7 +4,7 @@
     <param name="url">https://bitbucket.org/EionRobb/purple-rocketchat</param>
     <param name="filename">purple-rocketchat</param>
     <param name="versionformat">0.0+hg{date|localdate|shortdate}</param>
-    <param name="revision">49c17757de34ddbb564b475150ad070d7b0ba1cc</param>
+    <param name="revision">cb171c8e78b92d71a738460dbc21ec4555d26f21</param>
   </service>
   <service mode="disabled" name="recompress">
     <param name="file">*.tar</param>

++++++ purple-rocketchat-0.0+hg20181203.tar.xz -> 
purple-rocketchat-0.0+hg20190218.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/purple-rocketchat-0.0+hg20181203/librocketchat.c 
new/purple-rocketchat-0.0+hg20190218/librocketchat.c
--- old/purple-rocketchat-0.0+hg20181203/librocketchat.c        2018-12-02 
22:24:27.000000000 +0100
+++ new/purple-rocketchat-0.0+hg20190218/librocketchat.c        2019-02-18 
19:17:59.000000000 +0100
@@ -136,8 +136,11 @@
 #define PurpleProtocolChatEntry  struct proto_chat_entry
 #define PurpleChatConversation             PurpleConvChat
 #define PurpleIMConversation               PurpleConvIm
-#define purple_conversations_find_chat_with_account(id, account) \
-               
PURPLE_CONV_CHAT(purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, 
id, account))
+static inline PurpleConvChat * 
purple_conversations_find_chat_with_account(const char * name, const 
PurpleAccount * account)
+{
+       PurpleConversation * conv = 
purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, name, account);
+       return conv == NULL ? NULL : PURPLE_CONV_CHAT(conv);
+}
 #define purple_chat_conversation_has_left     purple_conv_chat_has_left
 #define PurpleConversationUpdateType          PurpleConvUpdateType
 #define PURPLE_CONVERSATION_UPDATE_UNSEEN     PURPLE_CONV_UPDATE_UNSEEN
@@ -980,9 +983,13 @@
                                const gchar *topic = 
json_object_get_string_member(room_info, "topic");
                                const gchar *room_name = 
json_object_get_string_member(room_info, "name");
                                const gchar *room_id = 
json_object_get_string_member(room_info, "_id");
-                               PurpleChatConversation *chatconv = 
purple_conversations_find_chat_with_account(room_name, ya->account);
+                               PurpleChatConversation *chatconv = NULL;
                                
-                               if (chatconv == NULL) {
+                               if (room_name != NULL) {
+                                       
purple_conversations_find_chat_with_account(room_name, ya->account);
+                               }
+                               
+                               if (chatconv == NULL && room_id != NULL) {
                                        chatconv = 
purple_conversations_find_chat_with_account(room_id, ya->account);
                                }
                                
@@ -992,8 +999,10 @@
                                        g_free(html_topic);
                                }
                                
-                               g_hash_table_replace(ya->group_chats, 
g_strdup(room_id), g_strdup(room_name));
-                               g_hash_table_replace(ya->group_chats_rev, 
g_strdup(room_name), g_strdup(room_id));
+                               if (room_id != NULL && room_name != NULL) {
+                                       g_hash_table_replace(ya->group_chats, 
g_strdup(room_id), g_strdup(room_name));
+                                       
g_hash_table_replace(ya->group_chats_rev, g_strdup(room_name), 
g_strdup(room_id));
+                               }
                        }
                }
        }
@@ -1390,7 +1399,7 @@
 
 void rc_handle_add_new_user(RocketChatAccount *ya, JsonObject *obj);
 
-PurpleGroup* rc_get_or_create_default_group();
+PurpleGroup* rc_get_or_create_default_group(PurpleAccount *account);
 
 static void
 rc_process_msg(RocketChatAccount *ya, JsonNode *element_node)
@@ -1401,7 +1410,6 @@
        const gchar *msg = json_object_get_string_member(obj, "msg");
        // gint64 createdTime = json_object_get_int_member(obj, "createdTime");
        // gboolean old_event = !ya->sync_complete;
-    rc_get_or_create_default_group();
 
     if (purple_strequal(msg, "ping")) {
                response = json_object_new();
@@ -1596,9 +1604,9 @@
                        
                        if (username != NULL) {
                                purple_protocol_got_user_status(ya->account, 
username, "offline", NULL);
+                               g_hash_table_remove(ya->usernames_to_ids, 
username);
                        }
                        
-                       g_hash_table_remove(ya->usernames_to_ids, username);
                        g_hash_table_remove(ya->ids_to_usernames, user_id);
                }
                
@@ -1670,13 +1678,14 @@
        }
 }
 
-PurpleGroup* rc_get_or_create_default_group() {
+PurpleGroup* rc_get_or_create_default_group(PurpleAccount *account) {
     PurpleGroup *rc_group = NULL;
        
-       rc_group = purple_blist_find_group(_("Rocket.Chat"));
+       gchar const * const group_name = purple_account_get_string(account, 
"default-buddy-group", _("Rocket.Chat"));
+       rc_group = purple_blist_find_group(group_name);
        if (!rc_group)
        {
-               rc_group = purple_group_new(_("Rocket.Chat"));
+               rc_group = purple_group_new(group_name);
                purple_blist_add_group(rc_group, NULL);
        }
        
@@ -1685,7 +1694,7 @@
 
 void rc_handle_add_new_user(RocketChatAccount *ya, JsonObject *obj) {
        PurpleAccount* account = ya->account;
-       PurpleGroup *defaultGroup = rc_get_or_create_default_group();
+       PurpleGroup *defaultGroup = rc_get_or_create_default_group(account);
 
     // 
a["{\"msg\":\"added\",\"collection\":\"users\",\"id\":\"hZKg86uJavE6jYLya\",\"fields\":{\"emails\":[{\"address\":\"[email protected]\",\"verified\":true}],\"username\":\"eionrobb\"}}"]
 
@@ -2420,6 +2429,11 @@
        ya->websocket = NULL;
        ya->websocket_header_received = FALSE;
        
+       if (errortype == PURPLE_SSL_CERTIFICATE_INVALID) {
+               purple_connection_ssl_error(ya->pc, errortype);
+               return;
+       }
+       
        rc_restart_channel(ya);
 }
 
@@ -2583,7 +2597,7 @@
        //Text  Sun Oct 23 00:08:23 NZDT 2016   Sun Oct 23 00:08:23 NZDT 2016   
a["{\"msg\":\"result\",\"id\":\"15\",\"result\":{\"total\":84776,\"records\":[\"dominico\",\"sri.sri\",\"jacob.brush\",\"sergey-4\",\"joycebabu\",\"vongomben\",\"marina.belobrova\",\"maialen\",\"Guby\",\"kawa.mj\",\"abda\",\"allie.micka\",\"julien.dussart\",\"dkonn\",\"sasaki\",\"hiro-21\",\"cristian.florescu\",\"test1-17\",\"artkill\",\"rocket.cat\",\"gabba\",\"ouaise.abdel.razig\",\"linsk\",\"minh.tri\",\"shabu.ans\",\"daniel.summers\",\"elmor3no\",\"woody.lee\",\"nikoj.ne\",\"mael.lebastard\",\"Solange\",\"ramin\",\"singli\",\"sandra.brown\",\"touqeer.rao-CN\",\"shoukri\",\"lintt\",\"wim.stalmans\",\"john.bowles\",\"jeff.lindesmith\",\"div\",\"timotz\",\"maxime.chauvin\",\"natalia.chalovskaya\",\"mark.webb\",\"demik\",\"nshevate\",\"Team.GrossGerau\",\"eionrobb\",\"danish.soomro\",\"jeremy\",\"testing-33\",\"anwar.hakimi\",\"ldk\",\"stoccafisso\",\"mark.petersen\",\"yang-2\",\"yanis.abib\",\"alan.swan\",\"continuouslee\",\"aj2\",\"rebecca.thomson\",\"yuukan\",\"Snare\",\"kidatti\",\"jader\",\"gkarmas\",\"treym\",\"testDemoS\",\"hubot\",\"rivkah\",\"xenithorb\",\"greg-9\",\"kirby\",\"Olu1\",\"gayle.sabharwal\",\"dale.berger\",\"_\",\"systrace68\",\"amir-3\",\"matyee\",\"any2names\",\"craig.miller\",\"aviner.fishhof\",\"jacobroecker\",\"kevmonzon\",\"john.maharjan\",\"ian-42\",\"nazarov.aleksandr\",\"dave-18\",\"ddd-9\",\"ycq818\",\"ParineyPrinja\",\"mongoose\",\"tenks\",\"thangnc\",\"jamesbaek\",\"BaekWoosok\",\"onlyxool\",\"richardt.steil\",\"FrancescoL\",\"eugene.ferbruarie_Mousten\",\"bill-15\",\"daira\",\"stefana1\",\"jack.terrible\",\"joon626\",\"novy\",\"liyu0013\",\"munzy\",\"chuckbot\",\"hogg\",\"rolanx\",\"lokitoxic\",\"diogenes.alves.oliveira\",\"test.yeah.yeah\",\"Erikxxon\",\"heyrob\",\"mark.yardly\",\"romio.montas\",\"james.thomas\",\"thebelgarion\",\"art-1\",\"ys-1\",\"adry2k\",\"Petersch\",\"johannes57\"]}}"]
        
                
-       PurpleChatConversation *chatconv = 
purple_conversations_find_chat_with_account(room_name, ya->account);
+       PurpleChatConversation *chatconv = room_name == NULL ? NULL : 
purple_conversations_find_chat_with_account(room_name, ya->account);
        
        if (node == NULL) {
                // Older server without support for getUsersOfRoom
@@ -3429,6 +3443,9 @@
        option = purple_account_option_bool_new(N_("Auto-add buddies to the 
buddy list"), "auto-add-buddy", FALSE);
        account_options = g_list_append(account_options, option);
        
+       option = purple_account_option_string_new(N_("Default group"), 
"default-buddy-group", _("Rocket.Chat"));
+       account_options = g_list_append(account_options, option);
+
        option = purple_account_option_string_new(N_("Personal Access Token"), 
"personal_access_token", "");
        account_options = g_list_append(account_options, option);
        


Reply via email to