[Added CC to xwindow-discuss and desktop-discuss ]

> So none of the rest of you have
> /usr/bin/gnome-session listening on some high
> numbered port in the 4000 range?

I'm seenig quite a few listening tcp sockets, too.
A few by gnome-session.  On SX:CE build 104.


> And none of you are curious as to what it is or what
> it's doing?

IceListenForConnections() seems to open these
listening tcp ports.  Stack backtrace for gnome-session
looks like this:

% mdb /usr/bin/gnome-session
> 0t1531::attach
Loading modules: [ ld.so.1 ]
> $C
08046b68 libc_hwcap2.so.1`_so_listen+7(8, 80, 20, fad18e75)
08046dc8 libICE.so.6`_IceTransSocketINETCreateListener+0x307(80b9000, 0, 0, fad1
f449)
08047598 libICE.so.6`_IceTransMakeAllCOTSServerListeners+0x938(0, 80475d8, 80475
dc, 80475d4)
080475f8 libICE.so.6`IceListenForConnections+0x2d(809ae78, 809ae74, 100, 8047630
)
08047748 gsm_xsmp_server_constructor+0xc6(80b79a8, 1, 80b1a18, 1)
080477f8 libgobject-2.0.so.0.1800.0`g_object_newv+0x3b7(80b79a8, 1, 80b8058, 0)
080478b8 libgobject-2.0.so.0.1800.0`g_object_new_valist+0x362(80b79a8, 807b2dc,
80478e8, fec41fc6)
080478d8 libgobject-2.0.so.0.1800.0`g_object_new+0x67(80b79a8, 807b2dc, 80b8a08
, 0)
080478f8 gsm_xsmp_server_new+0x32(80b8a08, 809b600, 8047958, 806ba60)
08047958 main+0x2e5(1, 8047984, 804798c, 805ed5f)
08047978 _start+0x7d(1, 8047aa8, 0, 8047ab6, 8047b14, 8047b2d)

> I'm guessing that maybe it's for XDMCP logins, but
> I'm not really sure, seeing as I am pretty much a
> Solaris noob.

Gnome-session (gsm-xsmp-server.c) seems to include this
piece of source code, and as far as I can tell, there is no Xtrans.h
header delivered with Solaris (SX:CE 104), and libICE doesn't
define a public _IceTransNoListen entry point:

00465 #ifdef HAVE_X11_XTRANS_XTRANS_H
00466         /* By default, IceListenForConnections will open one socket for 
each
00467          * transport type known to X. We don't want connections from 
remote
00468          * hosts, so for security reasons it would be best if ICE didn't
00469          * even open any non-local sockets. So we use an internal ICElib
00470          * method to disable them here. Unfortunately, there is no way to
00471          * ask X what transport types it knows about, so we're forced to
00472          * guess.
00473          */
00474         _IceTransNoListen ("tcp");
00475 #endif


For that reason we seem to get the default behaviour mentioned in
the above comment, "IceListenForConnections will open one socket
for each transport type known to X" ...
-- 
This message posted from opensolaris.org

Reply via email to