[Pidgin] #11110: Pidgin appears to leak DNS for Jabber accounts
Pidgin
trac at pidgin.im
Fri Apr 29 14:44:20 EDT 2011
#11110: Pidgin appears to leak DNS for Jabber accounts
-------------------------------------+--------------------------------------
Reporter: ioerror | Owner: deryni
Type: defect | Status: closed
Milestone: 2.8.0 | Component: XMPP
Version: | Resolution: fixed
Keywords: jabber security privacy |
-------------------------------------+--------------------------------------
Comment(by ioerror):
Replying to [comment:51 datallah]:
> I'm going to ignore the first few messages since my last reply, it looks
to me like there was some confusion that was subsequently resolved - if
there is something in those that is a real problem, please let me know.
>
Sure, sorry about the above confusion...
> We can't (shouldn't) reverse the order of the entries in that enum -
that would cause the value previously used for `ENVVAR` to change. The
order in the enum isn't at all correlated with the order of the items
displayed in the GUI, the selection is determined by value, not by order.
>
Hrm. Does that actually matter? The proxy value will be written out to
disk (in accounts.xml) as text after any proxy switch (once the callback
is called). So the int value only matters at run time and is internal to
pidgin, isn't it?
I mean, I understand that the symbolic name should be enough but this does
not appear to be the case.
> I can't recreate the problem you're experiencing here - please make sure
that you're using a clean build, particularly since your patching changed
the ints for the proxy type enum.
Ok - I can reproduce it locally - every time from a clean build. Until I
re-order the enum, I always had a "Tor/Privacy" option with no fields to
fill in and internally, it wrote 'envvar' to the 'accounts.xml' file.
Similarly, the "Use Environmental Settings" selection gave me fields to
fill in.
I am using a clean build from http://erinn.org/~e/pidgin.tgz and I did the
following:
{{{
wget http://erinn.org/~e/pidgin.tgz
tar -xvzf pidgin.tgz
cd pidgin-mtn
./autogen.sh
./configure --disable-screensaver --disable-gstreamer --disable-vv
--disable-idn --disable-meanwhile --disable-dbus --disable-perl --disable-
tcl --enable-gnutls=no --enable-nss=yes --disable-consoleui --enable-gcc-
hardening --enable-linker-hardening
time make
sudo make install
/usr/local/bin/pidgin
}}}
One thing worth noting is that the autogen.sh has an error in the last
line where configure is run:
{{{
checking for XScreenSaverRegister in -lXext... no
checking for XScreenSaverRegister in -lXss... no
configure: error:
XScreenSaver extension development headers not found.
Use --disable-screensaver if you do not need XScreenSaver extension
support,
this is required for detecting idle time by mouse and keyboard usage.
}}}
This shouldn't matter as the next thing that I call is the correct
configure line for my system. Does it?
I have no other pidgin packages on my system. Previously, I used the
pidgin packages that came with ubuntu (I removed pidgin pidgin-dev pidgin-
libnotify pidgin-otr during this development cycle) and those are long
gone.
Here's my pristine pidgin:
{{{
% which pidgin
/usr/local/bin/pidgin
% ldd /usr/local/bin/pidgin
linux-vdso.so.1 => (0x00007fffb81ff000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f5828cb5000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f5828a9a000)
libgtkspell.so.0 => /usr/lib/libgtkspell.so.0 (0x00007f5828892000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f5828542000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0
(0x00007f5827f20000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0
(0x00007f5827c72000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f5827a51000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f582779e000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0
(0x00007f5827573000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0
(0x00007f5827357000)
libm.so.6 => /lib/libm.so.6 (0x00007f58270d4000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0
(0x00007f5826ec6000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f5826c43000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0
(0x00007f58269f9000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f5826772000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1
(0x00007f582653d000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0
(0x00007f58262f5000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0
(0x00007f58260f0000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0
(0x00007f5825eeb000)
librt.so.1 => /lib/librt.so.1 (0x00007f5825ce3000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f5825a04000)
libpurple.so.0 => /usr/local/lib/libpurple.so.0
(0x00007f582573f000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007f5825525000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f582530b000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f58250ee000)
libc.so.6 => /lib/libc.so.6 (0x00007f5824d6b000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007f5824b65000)
libz.so.1 => /lib/libz.so.1 (0x00007f582494e000)
libenchant.so.1 => /usr/lib/libenchant.so.1 (0x00007f5824743000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f582453e000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f582432c000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f5824121000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f5823f1e000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f5823d0e000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f5823b05000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f58238fa000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f58235c4000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1
(0x00007f58233c1000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f58231bd000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f5822fb7000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00007f5822d88000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00007f5822b6a000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f5822910000)
libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0
(0x00007f582268d000)
libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0
(0x00007f5822483000)
libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0
(0x00007f5822269000)
libpng12.so.0 => /lib/libpng12.so.0 (0x00007f5822042000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0
(0x00007f5821e3e000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0
(0x00007f5821c34000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f5821a18000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00007f58217ee000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5828ee2000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f58215e9000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f58213e3000)
}}}
Additionally, my /usr/local/* is empty before I install pidgin.
> The proxy configuration settings in the GUI should (and do) appear in
all cases except "No proxy" and "Use environmental settings".
Not for me. I only have proper functionality when I re-order the enum -
once I've done that, everything functions as expected.
As an aside, when compiling a pristine copy (no patches at all), I see:
{{{
CC privacy.lo
CC proxy.lo
proxy.c:2404: warning: no previous prototype for
‘purple_proxy_connect_socks5’
CC prpl.lo
CC request.lo
CC roomlist.lo
CC savedstatuses.lo
CC server.lo
CC signals.lo
CC smiley.lo
CC dnsquery.lo
dnsquery.c:923: warning: no previous prototype for ‘purple_dnsquery_a’
CC dnssrv.lo
dnssrv.c:677: warning: no previous prototype for ‘purple_srv_resolve’
dnssrv.c:817: warning: no previous prototype for ‘purple_txt_resolve’
CC status.lo
}}}
--
Ticket URL: <http://developer.pidgin.im/ticket/11110#comment:52>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list