mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam B <a...@mesosphere.io>
Subject Re: Review Request 46203: Added authorization of the '/flags' endpoint.
Date Tue, 26 Apr 2016 06:27:37 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46203/#review130538
-----------------------------------------------------------



Looks great! I think we just need to pass the GET/POST verb into `authorizeEndpoint()` and
fix the other minor nits, then we'll be ready to ship. Or maybe you can convince me that we
don't need to add the verb until we actually have to authorize a non-GET verb (e.g. for maintenance
primitives).


docs/configuration.md (line 900)
<https://reviews.apache.org/r/46203/#comment194312>

    How about you give some real example endpoints, like "/flags" and "/monitor/statistics"
(the latter shows that longer URLs are allowed)?
    Same in flags.cpp



include/mesos/authorizer/acls.proto (line 150)
<https://reviews.apache.org/r/46203/#comment194313>

    s/access/GET HTTP/



include/mesos/authorizer/acls.proto (line 152)
<https://reviews.apache.org/r/46203/#comment194314>

    Not necessarily an operator.
    s/Operator/HTTP/?



src/slave/http.cpp (line 360)
<https://reviews.apache.org/r/46203/#comment194319>

    Should this perhaps be a `Shared<>`?



src/slave/http.cpp (line 362)
<https://reviews.apache.org/r/46203/#comment194316>

    This function still assumes GET. Please pass a something like a Verb enum as a parameter,
or else you'll need an `authorizeGetEndpoint()`, `authorizePostEndpoint()`, etc.



src/slave/http.cpp (line 365)
<https://reviews.apache.org/r/46203/#comment194320>

    Why pass the entire Slave down when you only use the flags?



src/slave/http.cpp (lines 797 - 799)
<https://reviews.apache.org/r/46203/#comment194317>

    For my comfort, can you also validate that `pathComponents[0] == ""` and `pathComponents[1].startsWith("slave(")`
so that it's clearer how this string is being split?
    Then we'll fail fast if the format changes, rather than passing incorrect substrings to
the authorizer.
    Then we can drop the other issue about the magic number '3', since it's more clearly documented/explained.



src/slave/http.cpp (line 804)
<https://reviews.apache.org/r/46203/#comment194318>

    s/access/GET/ and shouldn't you be checking the Verb here, for when we have to authorize
things other than GETs?



src/tests/slave_authorization_tests.cpp (line 61)
<https://reviews.apache.org/r/46203/#comment194359>

    `s/Parameter *parameter/Parameter* parameter/`



src/tests/slave_authorization_tests.cpp (lines 73 - 75)
<https://reviews.apache.org/r/46203/#comment194360>

    I'd rather you wrap the first line at `<` so LocalAuthorizer and tests::Module start
at the same indentation as AuthorizerTypes.
    I know the other AuthorizerTypes and AllocatorTypes follow the same pattern you have here,
but they look ugly/jagged too.
    I prefer the look of HttpAuthenticatorTypes in http_authentication_tests.cpp



src/tests/slave_authorization_tests.cpp (lines 90 - 92)
<https://reviews.apache.org/r/46203/#comment194361>

    s/acl1/acl/g



src/tests/slave_authorization_tests.cpp (lines 100 - 102)
<https://reviews.apache.org/r/46203/#comment194363>

    If you wrap after the `=`, you can fit the entire rhs on one line.



src/tests/slave_authorization_tests.cpp (line 144)
<https://reviews.apache.org/r/46203/#comment194366>

    After reading the description of the test, I expected to see ACLs that set permissive=false,
but adds a rule for GetEndpoint(ANY, "/flags")
    What you're testing is fully permissive ACLs, which is a bit different, and probably tested
throughout the rest of the existing tests.


- Adam B


On April 25, 2016, 5:50 a.m., Jan Schlicht wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/46203/
> -----------------------------------------------------------
> 
> (Updated April 25, 2016, 5:50 a.m.)
> 
> 
> Review request for mesos, Adam B, Alexander Rojas, and Benjamin Bannier.
> 
> 
> Bugs: MESOS-5142
>     https://issues.apache.org/jira/browse/MESOS-5142
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> See summary.
> 
> 
> Diffs
> -----
> 
>   docs/configuration.md 86ba66ac62295ca148524bcb2e57fee560ac4ac5 
>   include/mesos/authorizer/acls.proto c50deeb5565dfd5b3e5e7210283d9a36a3bfd579 
>   include/mesos/authorizer/authorizer.proto 40d93ea257d1df8d22eee8a21667db90d579a8fe

>   src/Makefile.am e024c6d65608a55765e527a8668c415723dcfcca 
>   src/authorizer/local/authorizer.cpp 0a3805fe4ce8eb89e096e8cd4326035513ba892b 
>   src/slave/flags.cpp 10d2974bd2b6e79255fc894979607f0d2d00c315 
>   src/slave/http.cpp 537736d1fe42e8150bad91326299ef9a17041a8e 
>   src/slave/slave.hpp 20a4bcd0bb9dad06ea81fc4ad9b2fa462c69d2c5 
>   src/tests/slave_authorization_tests.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/46203/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Jan Schlicht
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message