[sldev] [AWG] the humble start of pyogp

Christian Scholz / Tao Takashi (SL) tao.takashi at googlemail.com
Sat May 17 16:01:18 PDT 2008


Hi there!

The last days I was experimenting in my spare time a bit with a structure for

- a python library for the Open Grid Protocol
- a python implementation of an agent domain for the Open Grid Protocol
- getting Linden Lab's caps server to run
- getting login with the experimental Agent Domain of Linden Lab to log me in.

While login wasn't working (but I at least got it to tell me that
authentication failed and not just returning a 500 error)
the caps server seems to work and a structure for the library and
agent domain has been started.

I summarized all this in a blog post which you can find here:

http://mrtopf.de/blog/secondlife/worldofsl/setting-up-a-framework-for-a-python-implementation-of-the-open-grid-protocol-technical/

I would like to meetup with interested people maybe at the next
AWGroupie meetup on tuesday to discuss this further.
We probably shouldn't do it there directly but set a date and time for
it as Donovan will talk about reverse HTTP then.

As for the login I noticed the following:

* The SLGOGP (or now OGP, to be found at
http://wiki.secondlife.com/wiki/SLGOGP_Draft_1)  defines a login
payload as

{ credential: credential , first_name: first , last_name: last }

* The Login Strawman page at
http://wiki.secondlife.com/wiki/Second_Life_Login_API_Strawman define
it as e.g.

{ 'credential': { 'type': 'agent',
                     'first_name': <first>,
                     'last_name': <last>,
                     'password': '$1$' + <passwd_md5> } }

(or some future version which still have the 'credential' key in it though).

* The agent domain branch of the client defines it as

{       'firstname'        : '<first>',
       'lastname'        : '<last>',
        'md5-password' : '<password as md5>'
}

So we should make clear which version is the one to follow (I would
prefer the OGP spec to have this).
With the first 2 versions I get 500 errors back from the login script
with the latter one I get a proper response but authentication fails
(it says in some LLSD string)	.
As it looks in the client source code the md5 hash seems to be without
the leading $1$ but it's not working with either version anyway.

The result is

<?xml version="1.0" ?><llsd><map><key>reason</key><string>bad identity
and authentication
information</string><key>authenticated</key><boolean>false</boolean></map></llsd>

My implementation of this can be found here:
http://pysecondlife.googlecode.com/svn/pyogp/pyogp.lib.login/trunk/pyogp/lib/login/sllogin.py

So if somebody knows what's missing, please tell me (probably needs to
be somebody from Linden Lab).

cheers,

Tao

-- 
Christian Scholz
Tao Takashi (Second Life name)
taotakashi at gmail.com
Blog/Podcast: http://mrtopf.de/blog
Planet: http://worldofsl.com

Company: http://comlounge.net
Tech Video Blog: http://comlounge.tv
IRC: MrTopf/Tao_T


More information about the SLDev mailing list