• J
    gitweb: Split validate_input into validate_pathname and validate_refname · 24d0693a
    Jakub Narebski 提交于
    Split validate_input subroutine into validate_pathname which is used
    for $project, $file_name and $file_parent parameters, and
    validate_refname which is used for $hash, $hash_base, $hash_parent and
    $hash_parent_base parameters.  Reintroduce validation of $file_name
    and $file_parent parameters, removed in a2f3db2f
    
    validate_pathname in addition to what validate_input did checks also
    for doubled slashes and NUL character. It does not check if input is
    textual hash, and does not check if all characters are from the
    following set: [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%].
    
    validate_refname first check if the input is textual hash, then checks
    if it is valid pathname, then checks for invalid characters (according
    to git-check-ref-format manpage). It does not check if all charactes
    are from the [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%] set.
    
    We do not have to validate pathnames we got from git.
    Signed-off-by: NJakub Narebski <jnareb@gmail.com>
    Signed-off-by: NJunio C Hamano <junkio@cox.net>
    24d0693a
gitweb.perl 106.0 KB