[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