Finding needle in haystack..
Eamon Walsh
ewalsh at tycho.nsa.gov
Mon Sep 11 21:10:23 PDT 2006
On Mon, 2006-09-11 at 17:32 -0700, Thomson, David-P63356 wrote:
[snip]
> The reason I asked the question I did was that one way to trickle that
> information through to the window manager was:
> window manager looks up XID of window
> from XID we someway lookup the socket in use on that window
> from the socket we lookup process id
> from process id we look at the command line arguments to find the file
If you just want the command line arguments, try the WM_COMMAND
property. This property is supposed to contain the command line
arguments that were used to run the program that owns the window.
Unfortunately, I think it's deprecated. On my system, xterm sets it but
GIMP does not. You might have to modify applications to set it.
> This is hairy, nasty, and inherently pretty insecure but at the moment
> it's just to prove we can change an selinux label and have the border
> change color when re-launched.
The SELinux extension will provide support for obtaining the SELinux
security context of a window. It already does the work of digging up
the UNIX socket descriptor of the client and calling getpeercon(3).
Probably, the context will be made available as a property on the
window.
However, the context returned will be context of the window itself, so
if you really want to label windows with something else, you'll need
another solution.
>
> The other way that was proposed is to modify the source of the
> application to pass the document information to a third party which the
> modified window manager can access.
>
> Any thoughts?
>
> David Thomson
>
> -----Original Message-----
> From: Jay.Cotton at Sun.COM [mailto:Jay.Cotton at Sun.COM]
> Sent: Monday, September 11, 2006 5:10 PM
> To: Alan Coopersmith
> Cc: Thomson, David-P63356; xorg at lists.freedesktop.org
> Subject: Re: Finding needle in haystack..
>
> Alan Coopersmith wrote:
>
> > Thomson, David-P63356 wrote:
> >
> >> Developers,
> >>
> >> Could someone please hear me out and shoot me a quick response, I
> find
> >> these developer mailing lists are pretty segregated and people only
> >> respond to posts that deal exclusively with the work they are doing.
> >> Short story: I am doing work for "No Such Agency" . Our project
> would
> >> like a nice clean way of getting the socket number associated with
> the
> >> XID of a window. Is there a function that returns this info? If not
> >> I'll be making such a function. If I do, I'll be looking for where
> the
> >> window id's/socket number correlation is stored/modified.
> >
> >
> > The X server stores a file descriptor id for each client (not window)
> in
> > a table internally, but those are not necessarily sockets, and don't
> have
> > any meaning outside that process and the kernel's fd table for that
> > process,
> > so I'm not sure what you're looking for. What are you referring to as
> > a "socket number"?
> >
> There is a strong relationship between the FD and the client number
> (XID).
> So, since you can track back to the client connection (Alans' Dtrace
> code) you
> should be able to trudge through the connection table and find the
> socket number.
> If there is one. Remember that most clients don't have sockets since
> they are
> local to the server.
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
--
Eamon Walsh <ewalsh at tycho.nsa.gov>
National Security Agency
More information about the xorg
mailing list