>>>>> "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 Let me know what you prefer and I'll cook up a patch to add an additional orig_uri argument to send_cgi_and_exit() and use it to set the environment variable correctly. -- Bye, Peter Korsgaard _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
