WebKit Bugzilla
Attachment 342741 Details for
Bug 186291
: EWS for security bugs
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[Patch] Bugzilla extension
BugzillaEWSExtension.patch (text/plain), 10.75 KB, created by
Daniel Bates
on 2018-06-14 10:48:42 PDT
(
hide
)
Description:
[Patch] Bugzilla extension
Filename:
MIME Type:
Creator:
Daniel Bates
Created:
2018-06-14 10:48:42 PDT
Size:
10.75 KB
patch
obsolete
>Index: Websites/bugs.webkit.org/extensions/EWS/Config.pm >=================================================================== >--- Websites/bugs.webkit.org/extensions/EWS/Config.pm (nonexistent) >+++ Websites/bugs.webkit.org/extensions/EWS/Config.pm (working copy) >@@ -0,0 +1,32 @@ >+# Copyright (C) 2018 Apple Inc. All rights reserved. >+# >+# Redistribution and use in source and binary forms, with or without >+# modification, are permitted provided that the following conditions >+# are met: >+# 1. Redistributions of source code must retain the above copyright >+# notice, this list of conditions and the following disclaimer. >+# 2. Redistributions in binary form must reproduce the above copyright >+# notice, this list of conditions and the following disclaimer in the >+# documentation and/or other materials provided with the distribution. >+# >+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY >+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY >+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES >+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON >+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ >+package Bugzilla::Extension::EWS; >+ >+use strict; >+use warnings; >+ >+use constant NAME => "EWS"; >+use constant REQUIRED_MODULES => []; >+use constant OPTIONAL_MODULES => []; >+ >+__PACKAGE__->NAME; >Index: Websites/bugs.webkit.org/extensions/EWS/Extension.pm >=================================================================== >--- Websites/bugs.webkit.org/extensions/EWS/Extension.pm (nonexistent) >+++ Websites/bugs.webkit.org/extensions/EWS/Extension.pm (working copy) >@@ -0,0 +1,104 @@ >+# Copyright (C) 2018 Apple Inc. All rights reserved. >+# >+# Redistribution and use in source and binary forms, with or without >+# modification, are permitted provided that the following conditions >+# are met: >+# 1. Redistributions of source code must retain the above copyright >+# notice, this list of conditions and the following disclaimer. >+# 2. Redistributions in binary form must reproduce the above copyright >+# notice, this list of conditions and the following disclaimer in the >+# documentation and/or other materials provided with the distribution. >+# >+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY >+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY >+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES >+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON >+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ >+package Bugzilla::Extension::EWS; >+ >+use strict; >+use warnings; >+ >+use parent qw(Bugzilla::Extension); >+ >+use Bugzilla::Constants; >+use Bugzilla::Group; >+use Bugzilla::User; >+ >+our $VERSION = "1.0.0"; >+ >+sub feeder($); >+sub isReviewFlag($); >+ >+sub new >+{ >+ my ($class, @args) = @_; >+ my $self = $class->SUPER::new(@args); >+ $self->{shouldCCFeeder} = 0; >+ return $self; >+} >+ >+sub object_before_set >+{ >+ my ($self, $args) = @_; >+ >+ if (!$self->feeder()) { >+ return; >+ } >+ if (!isReviewFlag($args->{object})) { >+ return; >+ } >+ my $willChangeValue = defined($args->{field}) && $args->{field} eq "status"; >+ if (!$willChangeValue) { >+ return; # Ignore >+ } >+ my $reviewRequested = $args->{value} eq "?"; >+ $self->{shouldCCFeeder} = 1 if $reviewRequested && !$self->feeder()->can_see_bug($args->{object}->{bug_id}); >+} >+ >+sub bug_start_of_update >+{ >+ my ($self, $args) = @_; >+ >+ if ($self->{shouldCCFeeder}) { >+ $self->{shouldCCFeeder} = 0; >+ $args->{bug}->add_cc($self->feeder()); >+ } >+} >+ >+sub config_add_panels >+{ >+ my ($self, $args) = @_; >+ >+ my $modules = $args->{panel_modules}; >+ $modules->{EWS} = "Bugzilla::Extension::EWS::ParamsPanelUI"; >+} >+ >+sub feeder($) >+{ >+ my ($self) = @_; >+ >+ if (defined($self->{feeder})) { >+ return $self->{feeder}; >+ } >+ $self->{feeder} = new Bugzilla::User({name => Bugzilla->params->{"ews_feeder_login"}}); >+ return $self->{feeder}; # May be undefined. >+} >+ >+### >+# Helper functions >+## >+ >+sub isReviewFlag($) >+{ >+ my ($mayBeFlag) = @_; >+ return $mayBeFlag->isa("Bugzilla::Flag") && $mayBeFlag->name() eq "r"; >+} >+ >+__PACKAGE__->NAME; >Index: Websites/bugs.webkit.org/extensions/EWS/docs/en/rst/index-admin.rst >=================================================================== >--- Websites/bugs.webkit.org/extensions/EWS/docs/en/rst/index-admin.rst (nonexistent) >+++ Websites/bugs.webkit.org/extensions/EWS/docs/en/rst/index-admin.rst (working copy) >@@ -0,0 +1,24 @@ >+EWS >+######### >+ >+The EWS extension provides a mechanism to automatically CC the feeder EWS on restricted bugs >+(e.g. security bugs) that have unreviewed patches. In this way the feeder EWS account can be >+unprivileged. That is, it only needs to have access to publicly visible bugs. >+ >+=================================================== >+Installing this extension >+=================================================== >+ >+Copy the directory that contains the docs subdirectory that this file is under into the Bugzilla >+extension directory. Then run ./checksetup.pl from the top-level Bugzilla installation directory. >+ >+=================================================== >+Configuring the feeder EWS account to use >+=================================================== >+ >+Login to Bugzilla as an administrator, click Administration in the header, then Parameters, and >+then EWS. Set the parameter ews_feeder_login to the login name of the feeder EWS account. Then >+click Save Changes. >+ >+Note that setting ews_feeder_login to the empty string will effectively disable the extension >+though the extension will still be loaded. >Index: Websites/bugs.webkit.org/extensions/EWS/lib/ParamsPanelUI.pm >=================================================================== >--- Websites/bugs.webkit.org/extensions/EWS/lib/ParamsPanelUI.pm (nonexistent) >+++ Websites/bugs.webkit.org/extensions/EWS/lib/ParamsPanelUI.pm (working copy) >@@ -0,0 +1,59 @@ >+# Copyright (C) 2018 Apple Inc. All rights reserved. >+# >+# Redistribution and use in source and binary forms, with or without >+# modification, are permitted provided that the following conditions >+# are met: >+# 1. Redistributions of source code must retain the above copyright >+# notice, this list of conditions and the following disclaimer. >+# 2. Redistributions in binary form must reproduce the above copyright >+# notice, this list of conditions and the following disclaimer in the >+# documentation and/or other materials provided with the distribution. >+# >+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY >+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY >+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES >+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON >+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ >+package Bugzilla::Extension::EWS::ParamsPanelUI; >+ >+use strict; >+use warnings; >+ >+use Bugzilla::Config::Common; >+use Bugzilla::User; >+ >+our $sortkey = 5000; >+ >+sub checkUser($) >+{ >+ my ($name) = @_; >+ if (!$name) { >+ return ""; >+ } >+ my $user = new Bugzilla::User({ name => $name }); >+ if (!defined($user)) { >+ return "Must be an existing login name"; >+ } >+ return ""; >+} >+ >+sub get_param_list >+{ >+ my ($class) = @_; >+ >+ my @parameters = ({ >+ name => "ews_feeder_login", >+ type => "t", >+ default => "", >+ checker => \&checkUser, >+ }); >+ return @parameters; >+} >+ >+1; >Index: Websites/bugs.webkit.org/extensions/EWS/template/en/default/admin/params/ews.html.tmpl >=================================================================== >--- Websites/bugs.webkit.org/extensions/EWS/template/en/default/admin/params/ews.html.tmpl (nonexistent) >+++ Websites/bugs.webkit.org/extensions/EWS/template/en/default/admin/params/ews.html.tmpl (working copy) >@@ -0,0 +1,36 @@ >+[% >+# Copyright (C) 2018 Apple Inc. All rights reserved. >+# >+# Redistribution and use in source and binary forms, with or without >+# modification, are permitted provided that the following conditions >+# are met: >+# 1. Redistributions of source code must retain the above copyright >+# notice, this list of conditions and the following disclaimer. >+# 2. Redistributions in binary form must reproduce the above copyright >+# notice, this list of conditions and the following disclaimer in the >+# documentation and/or other materials provided with the distribution. >+# >+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY >+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >+# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY >+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES >+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON >+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS >+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+%] >+[% >+title = "EWS" >+desc = "Configure EWS" >+%] >+ >+[% >+param_descs = { >+ ews_feeder_login => >+ "The login of the feeder EWS queue." >+ _ "<p>This account will be added to the CC list of each bug that has a patch up for review, including bugs " >+ _ "that would normally be inaccessible from this account.</p>", >+} >+%]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186291
:
341938
|
341939
|
342058
|
342741
|
342744
|
342765
|
342766
|
342767
|
342787
|
342789
|
342819
|
342836
|
342844
|
342858
|
342892
|
342907
|
343010