lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 6 Jul 2018 18:30:46 -0400
From:   Don Zickus <dzickus@...hat.com>
To:     Joe Perches <joe@...ches.com>
Cc:     Prarit Bhargava <prarit@...hat.com>, linux-kernel@...r.kernel.org,
        jtoppins@...hat.com
Subject: Re: [PATCH] get_maintainer.pl: Add optional
 .get_maintainer.MAINTAINERS override

On Fri, Jul 06, 2018 at 03:14:28PM -0700, Joe Perches wrote:
> On Fri, 2018-07-06 at 15:09 -0700, Joe Perches wrote:
> > On Fri, 2018-07-06 at 17:58 -0400, Don Zickus wrote:
> > > We have an internal use case of multiple MAINTAINER files, some folks have
> > > more rights to patches than others so they are not allowed to be cc'd (think
> > > embargoed stuff).
> 
> How about:

I think you tried to optimized and it broke my passed in file.

See below.

> ---
>  scripts/get_maintainer.pl | 39 +++++++++++++++++++++------------------
>  1 file changed, 21 insertions(+), 18 deletions(-)
> 
> diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
> index c87fa734e3e1..f7a7d46340a8 100755
> --- a/scripts/get_maintainer.pl
> +++ b/scripts/get_maintainer.pl
> @@ -60,7 +60,7 @@ my $pattern_depth = 0;
>  my $self_test = undef;
>  my $version = 0;
>  my $help = 0;
> -my $find_maintainer_files = 0;
> +my $find_maintainer_files;
>  
>  my $vcs_used = 0;
>  
> @@ -262,7 +262,7 @@ if (!GetOptions(
>  		'sections!' => \$sections,
>  		'fe|file-emails!' => \$file_emails,
>  		'f|file' => \$from_filename,
> -		'find-maintainer-files' => \$find_maintainer_files,
> +		'find-maintainer-files:s' => \$find_maintainer_files,
>  		'self-test:s' => \$self_test,
>  		'v|version' => \$version,
>  		'h|help|usage' => \$help,
> @@ -384,26 +384,29 @@ sub find_ignore_git {
>  read_all_maintainer_files();
>  
>  sub read_all_maintainer_files {
> -    if (-d "${lk_path}MAINTAINERS") {
> -        opendir(DIR, "${lk_path}MAINTAINERS") or die $!;
> -        my @files = readdir(DIR);
> -        closedir(DIR);
> -        foreach my $file (@files) {
> -            push(@mfiles, "${lk_path}MAINTAINERS/$file") if ($file !~ /^\./);
> -        }
> -    }
> -
> -    if ($find_maintainer_files) {
> -        find( { wanted => \&find_is_maintainer_file,
> -                preprocess => \&find_ignore_git,
> -                no_chdir => 1,
> -        }, "${lk_path}");
> +    my $path = defined $find_maintainer_files && $find_maintainer_files ne ""
> +	? $find_maintainer_files : $lk_path;
> +    if (-d "${path}MAINTAINERS") {
> +	opendir(DIR, "${path}MAINTAINERS") or die $!;
> +	my @files = readdir(DIR);
> +	closedir(DIR);
> +	foreach my $file (@files) {
> +	    push(@mfiles, "${path}MAINTAINERS/$file") if ($file !~ /^\./);
> +	}
> +    }
> +
> +    if (defined $find_maintainer_files && (-d $find_maintainer_files)) {
> +	find( { wanted => \&find_is_maintainer_file,
> +		preprocess => \&find_ignore_git,
> +		no_chdir => 1,
> +	      }, "${path}");
>      } else {
> -        push(@mfiles, "${lk_path}MAINTAINERS") if -f "${lk_path}MAINTAINERS";
> +	push(@mfiles, "${path}MAINTAINERS") if -f "${path}MAINTAINERS";
>      }
>  
> +    die "$P: No MAINTAINER files found in $path\n" if (scalar(@mfiles) == 0);

^^^ I see this 'die' when using --find-maintainer-files=<file>

I suspect the '-d $find_maintainer_files' should be a '-e' but that kinda
breaks your optimization to use the 'else'??

the 'else' fails because it has $path==<file> and the 'else' appends MAINTAINERS
to <file>, which fails the -f check.

You almost need a 

     } else {
        push(@mfiles, "${lk_path}MAINTAINERS") if -f "${lk_path}MAINTAINERS";
+	push(@mfiles, "${path}") if -f "${path}";
    }

but that might be kinda kludgy.

Cheers,
Don

>      foreach my $file (@mfiles) {
> -        read_maintainer_file("$file");
> +	read_maintainer_file("$file");
>      }
>  }
>  

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ