Re: GDM <-->Greeter protocol documentation



On Thu, Sep 16, 2004 at 03:45:55PM -0300, Rodrigo Madera wrote:
> Dear list members:
> 
> I am curious about the GDM <--> Greeter Protocol. There doesn't seem to
> be documentation about it and the only information I have found about it
> is through the source code.
> 
> Does anyone know of a paper about it?
> 
> I know it's a simple ASCII protocol but certain questions arise. For
> example:
> 
> Is the communication between gdm and the greeter like:
> 
> 	1) gdm waits for the user name
> 	2) gdm sends some more data (like prompt or something similar)
> 	3) gdm waits for the password
> 	4) gdm sends some more data (like if auth ok...)
> 	5) all over again??
> 
> If so who would initiate the conversation? Would the gdm say some
> "initial" stuff to the greeter just as it starts? Would the gdm just
> wait for the initial input?
> 
> Or maybe they aren't waiting in turns for each other. Maybe they are
> asynchronous and non blocking?
> 
> Thank you in advance for any attention given. I greatly appreciate any
> help.

The protocol is mostly that the slave (daemon) sends a "command" or "query" to the
greeter and the greeter responds (either immediately or when it has an
answer).  Exceptions are the "interruptions" which are things that the
greeter wants to tell the slave that aren't answers to the questions the
slave is asking.

What you are seeing is that the slave normally sends the NEEDPIC code and the
greeter can respond with a username and then the slave can send a picture of
the user with READPIC.  This part of the protocol is slightly whacky and
comes from the fact that normally the greeter cannot access the user pictures
and only the slave can read them.  For your greeter likely what you just want
to send back is just STX and a "\n".  See gdmlogin.c around line 4183.  If
you need a face browser see gdm_login_user_alloc in gdmlogin.c.

And the answer to documentation question:  No there is no doc except what's
in daemon/gdm.h and gui/gdmlogin.c (and the graphical greeter code, though I
think gdmlogin.c is easier to read since it's smaller)

George

-- 
George <jirka 5z com>
   When the rich make war it's the poor that die.
                       -- Jean-Paul Sartre



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