Jump to content

Don't check HTTP-in URL domains


Oz Linden
 Share

Recommended Posts

Monty Linden

I think the search.secondlife.com is either a NAME Index for a URL in a redirect  or a similar DNS service  that does the same this is why it returns no files as this is a phantom entry.. Can you provide the proper search URL please and not a Named IDX or similar service? As I think this is most likely what i transpiring.

Such as in .htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.secondlife.com/search$ [NC]
RewriteRule ^(.*)$ search.secondlife.com//$1 [L,R=301]

RewriteCond %{HTTP_HOST} !^search.secondlife.com/search$ [NC]
RewriteRule ^(.*)$ www.secondlife.com/new search item/$1 [L,R=301]

Where  www.secondlife.com/new search item is your different URL can you provide it?

 

Thanks 

 

Virtuakitten

 

 

Thank you for your kind reply. We are currently paying 200L every single  event a month this is expensive and thought we could get at these events inside second life. Which there seems no reason why not! 

Have already tried limiting response this below which returns same 499. using it without http o https says its not available. This was providing a response of on on saying it returned noting

integer bodylength= 2048; 
url =  "http://search.secondlife.com/?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma
";
http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)",                                             HTTP_MIMETYPE, "application/x-www-form-urlencoded",  HTTP_VERIFY_CERT,FALSE, 
                          HTTP_BODY_MAXLENGTH,bodylength], "");

The full source code  is here : 

 

Edited by VirtualKitten
Link to comment
Share on other sites

  • Lindens
On 2/14/2024 at 7:49 AM, VirtualKitten said:

I think the search.secondlife.com is either a NAME Index for a URL or a similar DNS service  that does the same this is why it returns no files  . Can you provide the proper search URL please and not a Named IDX or similar service? As I think this is most likely what i transpiring.

DNS chains are silently followed and wouldn't cause this problem (ignoring TLS cert validation for the moment).  If you run your search query through a 'curl' command such as:

curl --http1.1 -v -L -o /dev/null 'https://search.secondlife.com?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma' 

you will see the sequence of visits that are made as the request gathers state information into cookies.  There are a number of possible reasons for llHttpRequest failing on this:

  • cookie management during the request
  • redirect count (3xx codes)
  • other limits (header length, response body length)
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • Lindens

Well, I can answer what the root error cause is (though several are involved in this case):

URLRequest Error: 47, Number of redirects hit maximum amount, http://search.secondlife.com/?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma

Too many redirects and that information isn't passed back in any useful way.

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

I tried curl but could not find a way of implementing it . I still think these are fake URL and redirected like  said it why it returns 499 as there are no files there to run . I tried downloading whole site with a program it said nothing was in the mirror at any of the locations. Your first guess about 5 steps must be right.

i tried visual trace root (https://gsuite.tools/traceroute)  with search.secondlife.com and it went here traceroute to a1895.b.akamai.net (23.220.206.197), 30 hops max which as not much help as i think its just a server address

A it says 

Invalid URL

The requested URL "[no URL]", is invalid.

Reference #9.88465b68.1708001254.ca5dc81

 

Also arns09s05-if-f142.1e100.net.was no help either.

Edited by VirtualKitten
Link to comment
Share on other sites

@Love Zhaoying There must be a search file location somewhere otherwise this could not do a search. i asked  @Monty Linden  where these search files was located. As there is also a referral from www.secondlife.com/search to search.secondlife.com.

 

I also found https://search.secondlife.com/web/search/? on a post here on Google  but this doesn't return anything but 499 with  also is there two types of search a different directory for SL on this server.

046de243b7d881e8abce2dc466d2fda3.png

3901c60330ad976a2b8956db6a3b7626.png

 

int bodylength = 2048;
url="https://search.secondlife.com/web/search/?search_type=standard&events_category=0&date=02%2F13%2F2024&dateformat=mm%2Fdd%2Fyy&starttime=0000&query_term=Galadriel%27s&sort=start_time_asc";

http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)",                                             HTTP_MIMETYPE, "application/x-www-form-urlencoded",  HTTP_VERIFY_CERT,FALSE, 
                          HTTP_BODY_MAXLENGTH,bodylength], "");

 

Edited by VirtualKitten
Link to comment
Share on other sites

31 minutes ago, VirtualKitten said:

@Love Zhaoying There must be a search file location somewhere otherwise this could not do a search. i asked  @Monty Linden  where these search files was located. As there is also a referral from www.secondlife.com/search to search.secondlife.com.

 

I also found https://search.secondlife.com/web/search/? on a post here on Google  but this doesn't return anything but 499 with  also is there two types of search a different directory for SL on this server.

046de243b7d881e8abce2dc466d2fda3.png

3901c60330ad976a2b8956db6a3b7626.png

 

int bodylength = 2048;
url="https://search.secondlife.com/web/search/?search_type=standard&events_category=0&date=02%2F13%2F2024&dateformat=mm%2Fdd%2Fyy&starttime=0000&query_term=Galadriel%27s&sort=start_time_asc";

http_request_id = llHTTPRequest(url, [HTTP_METHOD,"GET",HTTP_USER_AGENT, "LSL_Script(Mozilla Compatible)",                                             HTTP_MIMETYPE, "application/x-www-form-urlencoded",  HTTP_VERIFY_CERT,FALSE, 
                          HTTP_BODY_MAXLENGTH,bodylength], "");

 

Again, sorry if I was not clear:  if there was an (easy or obvious) solution, Monty would have provided it!

Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest().

Link to comment
Share on other sites

45 minutes ago, Love Zhaoying said:

Again, sorry if I was not clear:  if there was an (easy or obvious) solution, Monty would have provided it!

Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest().

i also found this works on web https://search.secondlife.com/web/search/search.php

Link to comment
Share on other sites

  • Lindens
1 hour ago, Love Zhaoying said:

Again, sorry if I was not clear:  if there was an (easy or obvious) solution, Monty would have provided it!

Perhaps another user will see your thread and chime in with a helpful response that includes how they got to "search" from within LSL code using llHTTPRequest().

Well, it was late and so I didn't (and still don't) have all the answers.  There will probably be some issues filed on this (and I'll mention them here).  And I'm going to run down some other answers.

The Search API page is notable for having last been edited in 2011.  (Almost typed 1911.)

The curl command (now edited) isn't a solution for you, @VirtualKitten.  But it is a tool that allows you to see what is occurring.  The exciting thing is that it also exposes some bugs in curl (which we use internally).  Curl 7.64.0 and 7.66.0 handle cookies slightly differently and we may be  triggering something.

@VirtualKitten, when did this stop working for you?

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I tried the curl command and it shows me two things:

- the redirect maximum is a curl property that can be set on the command line using "--max-redirs"

- the redirection is an endless loop: everything below between the ===== markings is repeated forever until max_redirs gets hit

Command:

% curl --http1.1 -v -L -o /dev/null ‘https://search.secondlife.com?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma'

Output:

> GET /?query_term=Galadriel%27s&search_type=standard&collection_chosen=events&maturity=gma HTTP/1.1

> GET /_auth/start?anonOK=true HTTP/1.1

> GET /openid/checklogin?language=en&return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcheck%3FanonOK%3Dtrue HTTP/1.1

> GET /openid/openidserver?openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=checkid_immediate&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.realm=https%3A%2F%2Fsearch.secondlife.com%2F&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A46Zlitl4E&openid.sreg.required=fullname HTTP/1.1

> GET /_auth/complete?anonOK=true&janrain_nonce=2024-02-15T21%3A29%3A46Zlitl4E&openid.assoc_handle=%7BHMAC-SHA1%7D%7B65ce824a%7D%7BWoJ8%2FQ%3D%3D%7D&openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.op_endpoint=https%3A%2F%2Fid.secondlife.com%2Fopenid%2Fopenidserver&openid.response_nonce=2024-02-15T21%3A29%3A46ZeJKBUV&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A46Zlitl4E&openid.sig=cGlc9wsouE5MK1EFctA5XCSbCtI%3D&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.fullname&openid.sreg.fullname=00000000-0000-0000-0000-000000000000%2F0%2F1 HTTP/1.1

=====

> GET / HTTP/1.1

> GET /_auth/start?anonOK=true HTTP/1.1

> GET /openid/checklogin?language=en&return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcheck%3FanonOK%3Dtrue HTTP/1.1

> GET /_auth/check?anonOK=true&openid_identifier=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous HTTP/1.1

> GET /openid/openidserver?openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=checkid_immediate&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.realm=https%3A%2F%2Fsearch.secondlife.com%2F&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A47ZED7Xxy&openid.sreg.required=fullname HTTP/1.1

> GET /_auth/complete?anonOK=true&janrain_nonce=2024-02-15T21%3A29%3A48Z0vfcju&openid.assoc_handle=%7BHMAC-SHA1%7D%7B65ce824c%7D%7BNjuMbQ%3D%3D%7D&openid.claimed_id=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.identity=https%3A%2F%2Fid.secondlife.com%2Fid%2Fanonymous&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.op_endpoint=https%3A%2F%2Fid.secondlife.com%2Fopenid%2Fopenidserver&openid.response_nonce=2024-02-15T21%3A29%3A48ZmX32wp&openid.return_to=https%3A%2F%2Fsearch.secondlife.com%2F_auth%2Fcomplete%3FanonOK%3Dtrue%26janrain_nonce%3D2024-02-15T21%253A29%253A48Z0vfcju&openid.sig=YyODVK0M%2FfYbtUmw%2BgU81t7RKxA%3D&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.fullname&openid.sreg.fullname=00000000-0000-0000-0000-000000000000%2F0%2F1 HTTP/1.1

=====

 

Link to comment
Share on other sites

The wiki page on the search API is old indeed and it mentions that it’s not a LL supported one, so the Ops real question is: is there a LL supported API that allows to search events? If not, who is able and willing to provide support on this unofficial API?

Link to comment
Share on other sites

o o :( checkout the wiki page on search api at:

 

Work-around for LSL

It should be noted that LSL scripts using llHTTPRequest method can not query against the Google appliance directly. Linden Lab has blocked all access due to security reasons of requests from machines on the local network. To work around this, many people use proxy services. One popular service is offered by Google. It is originally intended to make content available for mobile phones. For an example, see the Proxy Search Form.

Example of proxy search URL http://www.google.com/gwt/n?u=http%3A%2F%2Fsearch.secondlife.com%2Fclient_search.php%3Fq%3Dhippo&_gwt_noimg=1

 

Seems like the "https://search.secondlife.com" can't be called directly from LSL but the workaround is an indirect call via a proxy. GWT is end of life by now but I tried another web proxy which delivered "https://p2.hosteagle.club/?__cpo=aHR0cHM6Ly9zZWFyY2guc2Vjb25kbGlmZS5jb20". Alas, calling that one with llHTTPRequest resulted in a 400 error, so this workaround is no longer valid. Is there maybe another workaround for the block of requests from machines on the local network?

Link to comment
Share on other sites

  @Monty Linden Its pretty strange, I used to be able to load an avatar on the face of prim that is supported as its used on club boards  so not all URL in Secondlife seem blocked two days ago this was proving a response but now 499. I am not worried by Second Life blocking this on Google which it doesn't only in maturity reasons.

 

I  have access onhttps://search.secondlife.com/web/search/search.php/ But it does seem this does not function at all from Secondlife returning 499. This being the case as you suggested why does it have cookies something used by other browsers. This suggests there  is another URL, as for what reason would it need a cookie in SL.  Quiet frankly this seems a bum reason. I understood their was some advances had been made on HTTPRead(. It seems no one should be paying for their events on Secondlife then I will reconsider doing this ! Perhaps Second life should rethink this?

Link to comment
Share on other sites

  • Lindens
5 hours ago, Ardy Lay said:

For a "living document", that wiki has a lot of necrotic tissue.

Bwahaha, we used a lot of phlogiston back in those days.  Those appliances are long gone.  Along with the Isilons and more.  I'm surprised the URL patterns still worked or that anything on that page still applies.

I'm trying to bracket when the externally-visible behavior changed.  I'm not web but I'm not seeing a cause...

  • Thanks 1
Link to comment
Share on other sites

Um when i started this project it worked two weeks ago giving random http returns that was put on the prim it was in  . It then started returning 499 for some reason when it was returning 500, and 404 that week so its been changed within two weeks to this ew behavior as i started this thread then.  LSL Script to ask why. I have go no further with it since we last spoke sorry. I had hoped one of you had. Currently I can see no reason why to pay Second life for my adverts As if i do i cannot even use them sighs

Link to comment
Share on other sites

  • Lindens

The 'feedback' issues (Canny) represent new development including a new external service.  That doesn't happen in days (when I said 'slow,' I really meant slow).  That's why you need to follow through with a support ticket and maybe a bug report in feedback.  These have faster return times (but not always with the response residents want).

  • Thanks 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...