Re: [gdm-list] Making the greeter interface accessible from outside



Hi,

On Mon, May 7, 2012 at 5:00 PM, Giovanni Campagna
<scampa giovanni gmail com> wrote:
> 2012/5/3 Ray Strode <halfline gmail com>:
>> Hi,
>>
>>> You need a dynamic bus name, because you can have multiple slaves at
>>> the same time.
>>> I thought of SeatId because session applications have XDG_SEAT in the
>>> environment, and because a slave conceptually maps to one login, or
>>> seat.
>> a slave does match to one login, but it doesn't match to one seat. a seat can
>> have multiple logins.  DBus really isn't made for dynamic bus names, anyway.
>
> I don't undersand why this aversion to dynamic bus names.
Well, various files in dbus (activation files, security policy files,
etc) use the
well known bus name embedded in the file.  If it changes at run time
then those files won't work anymore.

You could argue you don't activation, for instance, and so it's not a
problem, but it is a
good indicator that dbus wasn't really designed with dynamic bus names in mind.

Aside from that, Telepathy runs on the session bus.  The system bus
has this in its security policy by default:

    <!-- Holes must be punched in service configuration files for
         name ownership and sending method calls -->
    <deny own="*"/>

> I don't think any of this belongs to gdm-binary. We already have a
> component that supervises login sessions, and that's the slave. In
> particular, I don't want to have code in gdm-binary that just routes
> messages around, there is already too much of that in gdm.
We're talking about one method right? gdm-binary is what manages all the slaves.
In that vein, it sort of makes sense for it to be the arbiter/liason
for outside parties to the slaves, too.

This means we can prevent one session from talking to another
session's slave.  GDM knows what
slave is associated with the process talking to it, so it can
automatically set up communcation with
the only slave that process should be allowed to talk to.

> Speaking of orthogonal parts, I also started a big GDBus rewrite of
> gdm. I'm doing this because I'm not confortable with libdbus, and
> because it causes a good deal of code to be replaced by gdbus-codegen.
> I'm not done yet, but I'm trying to make sure that everything builds
> and works after each commit. You can find progress at
> https://github.com/gcampax/gdm/tree/gdbus-port (or, if you prefer, I
> can move it to git.gnome.org).
Sounds good.  If you prefer github that's fine, or if you want to push to
a wip/gdbus-port in gdm that's fine too.

--Ray


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]