Your message dated Fri, 10 Jun 2022 18:17:26 -0500
with message-id <[email protected]>
and subject line Re: Bug#1011449: Info received (Bug#1011449: Acknowledgement 
(pidgin cannot resume interrupted XMPP connection if no srv_rec available.))
has caused the Debian Bug report #1011449,
regarding pidgin cannot resume interrupted XMPP connection if no srv_rec 
available.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1011449: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1011449
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: pidgin
Version: 2.14.9-2
Severity: normal

Dear Maintainer,

The current pidgin cannot resume interrupted XMPP connection if no srv_rec
available (e.g. when using tor as proxy so no srv_rec will be obtained from DNS
in the first place).

This is because in jabber_login_callback(), when an error occurs (source < 0), if (js->srv_rec != NULL), it will report the error and call try_srv_connect()
to try another SRV record, and return, but if (js->srv_rec == NULL), it will
return directly without reporting the error, nor any further process.

Since try_srv_connect() can handle the scenario that (js->srv_rec == NULL) and
resume the interrupted XMPP connection, I suggest to call try_srv_connect()
when an error occurs, regardless whether (js->srv_rec == NULL), like the
attached patch.


-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (900, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.17.0-1-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=zh_CN.utf8, LC_CTYPE=zh_CN.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages pidgin depends on:
ii libatk1.0-0 2.38.0-1
ii libc6 2.33-7
ii libcairo2 1.16.0-5
ii libdbus-1-3 1.14.0-1
ii libgdk-pixbuf-2.0-0 2.42.8+dfsg-1
ii libglib2.0-0 2.72.1-1
ii libgstreamer-plugins-base1.0-0 1.20.2-2
ii libgstreamer1.0-0 1.20.2-1
ii libgtk2.0-0 2.24.33-2
ii libgtkspell0 2.0.16-1.3
ii libice6 2:1.0.10-1
ii libpango-1.0-0 1.50.7+ds-1
ii libpurple0 2.14.9-2
ii libsm6 2:1.2.3-1
ii libx11-6 2:1.7.5-1
ii libxss1 1:1.2.3-1
ii perl-base [perlapi-5.34.0] 5.34.0-4
ii pidgin-data 2.14.9-2

Versions of packages pidgin recommends:
ii gstreamer1.0-libav 1.20.2-1
ii gstreamer1.0-plugins-base 1.20.2-2
ii gstreamer1.0-plugins-good 1.20.2-1
ii gstreamer1.0-pulseaudio 1.20.2-1
ii sensible-utils 0.0.17

Versions of packages pidgin suggests:
ii libsqlite3-0 3.38.5-1

-- no debconf information

--- a/libpurple/protocols/jabber/jabber.c       2022-05-23 15:50:49.475173171 
+0800
+++ b/libpurple/protocols/jabber/jabber.c       2022-05-23 15:51:17.491467914 
+0800
@@ -804,10 +804,8 @@ jabber_login_callback(gpointer data, gin
        JabberStream *js = purple_connection_get_protocol_data(gc);
 
        if (source < 0) {
-               if (js->srv_rec != NULL) {
-                       purple_debug_error("jabber", "Unable to connect to 
server: %s.  Trying next SRV record or connecting directly.\n", error);
-                       try_srv_connect(js);
-               }
+               purple_debug_error("jabber", "Unable to connect to server: %s.  
Trying next SRV record or connecting directly.\n", error);
+               try_srv_connect(js);
                return;
        }
 


--- End Message ---
--- Begin Message ---
Control: fixed 1011449 pidgin/2.14.10-1

Marking as fixed per last comment.

--
Richard

--- End Message ---

Reply via email to