Redirect loops and mazes
Sean Conner sean at conman.org
Sun Oct 13 23:57:05 BST 2019
It was thus said that the Great Sean Conner once stated:
> It was thus said that the Great solderpunk once stated:
> > One downside of Gemini's support for redirection is that poorly
> > written/configured servers can in principle get clients stuck in
> > infinite loops of redirects, or just lead clients on long chains of many
> > consecutive redirects. High quality Gemini clients should be able to
> > recognise these conditions and escape, rather than just endlessly
> > following redirects and appearing to "lock up" to the user.
> >
> > It occurs to me that, Sean, this kind of thing could be a very useful
> > addition to your already very useful Gemini client "torture test". Do
> > you have any interest in coding this up?
>
> Already done. It took more time to write up the test page than it was to
> write the code, which is just three lines:
>
> function handler(_,_,loc)
> return 31,uurl.toa(uurl.merge(loc,{ path = tostring(uuid()) })),""
> end
>
> And speaking of tests, have you finished the Gemini server torture test?
Actually, let me amend that. I made three tests (and the handler doubled
in size)---one to send a series of continuous temporary redirects, one to
send a series of permanent redirects, and one that will continously send a
random type of redirect.
Anyway, have fun with the tests.
-spc
Archive home | About this archive