Re: [PATCH] gitweb: protect blob and diff output lines from controls.
From: Luben Tuikov <hidden>
Date: 2016-08-11 19:40:38
--- Junio C Hamano <junkio@cox.net> wrote:Jakub Narebski [off-list ref] writes:quoted
Jakub Narebski wrote:quoted
I'm not sure what quoting to choose for esc_attr, but there we could use even --no-control-chars quoting (replacing any control character by '?'); but perhaps in some cases like git_print_page_path subroutine CEC is better.To be honest, I do not have strong preference between the escaping style. If the gitweb cabal feel it is more natural to see "^L" in blobs and "\f" in path, I will very happily accept such a patch.
I've little preference either, as long as the intention of the original name is preserved across gitweb (to a user's git-repo/download).
Yes. It is unfortunate that there needs different types of quoting. I think the first step would be to stop calling esc_html in esc_path. I think it was a mistake, and I did not correct it when I started touching it.
When Jakub mentioned "to_qtext" he meant this patch: http://marc.theaimsgroup.com/?l=git&m=116016249121781&w=2 Luben
Somehow I ended up spending sizeable part of my git day this week on fixing up blob/blame/tag/commit message view regarding this "make controls visible and safe" issues on the 'master' branch, but I have been consciously staying out of gitweb/ part of the system, primarily because there are many other people who are more interested and qualified in it than myself. I'll step aside and try not to get in the way. There is another thing I noticed while testing it with an artifitial test that I haven't fixed, but I think you already know about it (when the commitdiff is completely empty except mode changes, we end up with unbalanced div). My test's tip can be found at 'gitweb-test-funny-char' branch temporarily in the git.git repository. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html