Thread

Commits

  1. Fix handling of previous password hooks in passwordcheck

  1. BUG #15932: Module passwordcheck doesn't reference previous hooks

    The Post Office <noreply@postgresql.org> — 2019-07-29T15:56:35Z

    The following bug has been logged on the website:
    
    Bug reference:      15932
    Logged by:          Rafael Castro
    Email address:      rafaelthca@gmail.com
    PostgreSQL version: 11.4
    Operating system:   Any
    Description:        
    
    Module passwordcheck doesn't reference (thus, doesn't call) previous
    hooks:
    
    https://github.com/postgres/postgres/blob/master/contrib/passwordcheck/passwordcheck.c#L133
    
    As a result, if passwordcheck is used hook check_password_hook becomes
    useless.
    
    
  2. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Michael Paquier <michael@paquier.xyz> — 2019-07-30T02:24:20Z

    On Mon, Jul 29, 2019 at 03:56:35PM +0000, PG Bug reporting form wrote:
    > Module passwordcheck doesn't reference (thus, doesn't call) previous
    > hooks:
    > 
    > https://github.com/postgres/postgres/blob/master/contrib/passwordcheck/passwordcheck.c#L133
    > 
    > As a result, if passwordcheck is used hook check_password_hook becomes
    > useless.
    
    So, it would erase the trace of previous hooks if loaded last.
    passwordcheck holds value as an example of use for some hooks, and
    examples should be a good students, so I agree to do better and fix
    that.  The attached patch does the work, what do you think about it?
    --
    Michael
    
  3. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Michael Paquier <michael@paquier.xyz> — 2019-07-31T07:15:03Z

    On Tue, Jul 30, 2019 at 11:24:20AM +0900, Michael Paquier wrote:
    > So, it would erase the trace of previous hooks if loaded last.
    > passwordcheck holds value as an example of use for some hooks, and
    > examples should be a good students, so I agree to do better and fix
    > that.  The attached patch does the work, what do you think about it?
    
    Are there any objections about that stuff?  I would not touch anything
    else than HEAD for that issue.
    --
    Michael
    
  4. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Daniel Gustafsson <daniel@yesql.se> — 2019-07-31T07:23:54Z

    > On 31 Jul 2019, at 09:15, Michael Paquier <michael@paquier.xyz> wrote:
    > 
    > On Tue, Jul 30, 2019 at 11:24:20AM +0900, Michael Paquier wrote:
    >> So, it would erase the trace of previous hooks if loaded last.
    >> passwordcheck holds value as an example of use for some hooks, and
    >> examples should be a good students, so I agree to do better and fix
    >> that.  The attached patch does the work, what do you think about it?
    > 
    > Are there any objections about that stuff?  I would not touch anything
    > else than HEAD for that issue.
    
    LGTM.  A small nitpick is that the below comment isn’t really giving the full
    picture, prev_check_password_hook is not just used for unload but for the hook
    chaining.
    
    +/* Saved hook value in case of unload */
    
    cheers ./daniel
    
    
    
  5. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Michael Paquier <michael@paquier.xyz> — 2019-07-31T07:34:01Z

    On Wed, Jul 31, 2019 at 09:23:54AM +0200, Daniel Gustafsson wrote:
    > LGTM.  A small nitpick is that the below comment isn’t really giving the full
    > picture, prev_check_password_hook is not just used for unload but for the hook
    > chaining.
    
    My understanding is that it's the same meaning, and also:
    $ git grep "in case of unload"
    contrib/auto_explain/auto_explain.c:/* Saved hook values in case of
    unload */
    contrib/pg_stat_statements/pg_stat_statements.c:/* Saved hook values
    in case of unload */
    src/test/modules/test_rls_hooks/test_rls_hooks.c:/* Saved hook values
    in case of unload */
    --
    Michael
    
  6. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Daniel Gustafsson <daniel@yesql.se> — 2019-07-31T07:54:17Z

    > On 31 Jul 2019, at 09:34, Michael Paquier <michael@paquier.xyz> wrote:
    > 
    > On Wed, Jul 31, 2019 at 09:23:54AM +0200, Daniel Gustafsson wrote:
    >> LGTM.  A small nitpick is that the below comment isn’t really giving the full
    >> picture, prev_check_password_hook is not just used for unload but for the hook
    >> chaining.
    > 
    > My understanding is that it's the same meaning, and also:
    > $ git grep "in case of unload"
    > contrib/auto_explain/auto_explain.c:/* Saved hook values in case of
    > unload */
    > contrib/pg_stat_statements/pg_stat_statements.c:/* Saved hook values
    > in case of unload */
    > src/test/modules/test_rls_hooks/test_rls_hooks.c:/* Saved hook values
    > in case of unload */
    
    Hmm, ok, IMO my comment applies to those as well, but it may very well be me
    just reading it wrong.  Either way, +1 for pushing your patch.
    
    cheers ./daniel
    
    
    
  7. Re: BUG #15932: Module passwordcheck doesn't reference previous hooks

    Michael Paquier <michael@paquier.xyz> — 2019-08-01T00:42:11Z

    On Wed, Jul 31, 2019 at 09:54:17AM +0200, Daniel Gustafsson wrote:
    > Hmm, ok, IMO my comment applies to those as well, but it may very well be me
    > just reading it wrong.  Either way, +1 for pushing your patch.
    
    I am not saying that this cannot be improved either, still I am not
    sure how it could be reworded.  And if we do that, it should be
    applied to all places where we use it.  I have fixed the issue and
    back-patched down to 9.4.  Perhaps that was not worth caring about,
    but the versions for the back-branches were not really an issue.
    
    Thanks for the report, Rafael.  And thanks for the review, Daniel.
    --
    Michael