On Sunday 18 December 2011 21:57, Peter Korsgaard wrote: > >>>>> "Denys" == Denys Vlasenko <[email protected]> writes: > > Hi, > > Denys> I propose to move it to the site of aforementioned appending: > > Denys> This way, it's more obvoius, and only done when needed (=> only > Denys> for dirs). > > Yes, that makes sense. > > Denys> However, there is another problem. Check > Denys> /usr/srcdevel/bbox/fix/busybox.3/networking/httpd_indexcgi.c > Denys> See how it is determining _which directory_ to list. > Denys> It looks at $QUERY_STRING. > > Denys> IOW: "g_query = urlcopy;" assignment you nuked wasn't a quick fix > Denys> for "query string is overwritten" bug. It was a way to give > Denys> cgi-bin/index.cgi a way to find the directory it is meant to list. > > Ahh, I didn't know that. I do find the > pass-original-request-in-QUERY_STRING quite nonstandard and limiting > (E.G. it means you cannot easily support Apache-style selectable > directory sorting by DIR/?..). I personally don't use the > /cgi-bin/index.cgi fallback for directory listing, but simply to have a > nicer looking URL for the main (CGI based) webpage, without having to > mess with a dummy index.html and a HTML level redirect. > > I think a better approach would be to let REQUEST_URI be the original > (DIR/) location requested, and then leave QUERY_STRING for arguments > like normal. Alternatively we could add SCRIPT_URL, which seems to be > what Apache's mod_rewrite provides: > > https://httpd.apache.org/docs/current/mod/mod_rewrite.html#EnvVar
Both look sensible to me. Pick whatever solution you like. Please change networking/httpd_indexcgi.c correspondingly (and test it). -- vda _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
