Scripting hash method broken

Keiko Rau had been having some problems ever since the Second Life servers were upgraded to 1.19.0, their scripts started breaking. The specific problem that they were running into was how the llMD5String had changed in hashing out strings with nonce values.

The scripts that Keiko was using had been working since October. When there region went down and upgraded to 1.19, the hashes returned were different then expected. The same results occured in many different regions that they tested the scripts in.

I looked at my regions version and saw the following:

You are at 241984.7, 278823.2, 23.7 in Woodbridge located at
sim5627.agni.lindenlab.com (8.2.34.183:13005)
Havok4 Beta Server 1.18.6.78103

I offered some space on my sim for Keiko to test the box with. She rezzed a white box with the words “Geek Assylum” on it. Basically the box sends data to there PHP server with an extra part giving the MD5 Hash of data sent. This is primarily for data integrity purposes to verify everything came through ok.

Surprisingly, the MD5 method worked fine. From this, we have been able to deduce that the llMD5String algorithm has changed between the two server versions. MD5 has a large potential with servers and networked vendors. It is often used with encryption methods.

Was this change intentional? What are the new methods of calculating an MD5 hash? Before it was data + “:” + nonce. Did they remove the semicolon?

posted by Dedric Mauriac on Woodbridge using a blogHUD : [blogHUD permalink]

Update

I’ve been working with Keiko a lot trying to get down to how to verify where the MD5 script fails so that we can report it through JIRA. It took a while to figure out what she was hashing and to get the nonce. After looking through her debug methods, I was able to capture the string to be hashed, and the hash value from it. I was able to create a simple prim with a test script to hash the string and verify if the result was as we expected. On both the 1.18 and 1.19 servers, the hash comes back the same.

Keiko’s server was working on the 1.18 sim. She brought it over to 1.19 and found that it was failing on the updated servers. She mentioned something about the “ping” when it initializes an RPC channel. More to come later …

2 Responses to “Scripting hash method broken”

  1. Malignant Narcissist Says:

    I’m not sure what time you wrote this, but there could be an explanation, here.

  2. Dedric Mauriac Says:

    it wasn’t the long names. it turned out to be problems with llEscapeURL in another bug.

Leave a Reply