ALERT: Le Tigre HTTPRequest Change

This change could be a problem. Kelly Linden tells us that cURL has changed and that is going to affect HTTPRequest calls coming from Linden Scripting Language (LSL).

Here is the deal. cURL is a communications and security process used by Second Life™. The cURL process has always added a no-cache parameter to all HTTP requests passing through it. In a recent update, which is now on Le Tigre, that changed. A no-cache parameter is not added. This means those using 3rd party servers to implement their breedables and other tasks may run into problems. They will have to change their queries to use HTTP_CUSTOM_HEADER in their requests.

If you have breedables or frinds that do, contact the maker or your friends and send them to this post.

Kelly Linden told us: (not an exact quote… but close)

On a different topic, LeTigre this last week had some library updates. One update of note was to the curl library that changed its behavior specifically around caching. The effect was that all outgoing requests on non-letigre regions have a Pragma: no-cache header in them, because curl helpfully added this to all requests. The new version on LeTigre fixed this! Yay, except now llHTTPRequest may return cached results if the 3rd party web server has caching enabled.

There is a work around already. You can manually specify Pragma: no-cache by adding [HTTP_CUSTOM_HEADER, “Pragma”, “no-cache”] to the llHTTPRequest.

However we are discussing how this could affect some existing systems that would suddenly start getting cached results, when they wouldn’t before. Well, more precisely they *could* suddenly start getting cached results, depending on the configuration of the remote server.

We could modify the server version so that all llHTTPRequests add the “Pragma: no-cache” header but that seems like a step backwards in some ways since it takes the control away from the scripter.

Systems that are most likely to be affected are those that frequently hit the exact same url and expect the data to change. Maybe they are getting a counter or checking on something’s status.

If anyone uses or develops systems they think *might* be affected please give them a try on LeTigre this week and let me know. Or if you know others that might, encourage them to test on LeTigre this week.

Thanks.

Let your friends and vendors that use outside servers know about this change.

Leave a Reply

Your email address will not be published. Required fields are marked *