Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oeKBw-0006ig-53 for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Sep 2022 17:52:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oeKBv-0006rU-0N for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Sep 2022 17:52:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oeKBu-0006ow-Gq for pgsql-hackers@lists.postgresql.org; Fri, 30 Sep 2022 17:52:50 +0000 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oeKBr-0007Db-Sk for pgsql-hackers@lists.postgresql.org; Fri, 30 Sep 2022 17:52:49 +0000 Received: by mail-wr1-x430.google.com with SMTP id h7so7921058wru.10 for ; Fri, 30 Sep 2022 10:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date; bh=FsfSfk93trecfqOD8qYKRP7TaOFlHjl0Wud1yF4kd5I=; b=IR95cRUZQtol6VlZWUWGhJpMu2NiyAcmKKjhwQV+2cWtzhMbSYkmdl0X240l9hj3Km Q/5bp7e8CazOl9OhpL8hoiwRH2RISW//7oon4rugXDfbpg2UtPllaFWHFE+EALt8TIB5 Le9wk+inJmzsLHYeYxnQ5vOowQ1z1r8HtWQJt1hipHwzB40RMKIDiQ/JNED/mKsgCICs T7mmK3BcPCrW9PwWCwVU9sa14XCsYRXssc3FtomcZwLf/X3UmudQZtdwA7R/8b2qu7yN rz5wg6fVucJQeAGYqV/Tl8RCVb1St1APDlFK/d/EN3GEmQA6837ZbQut1xA99PoAe6x9 t8Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date; bh=FsfSfk93trecfqOD8qYKRP7TaOFlHjl0Wud1yF4kd5I=; b=mNs56v8RXRg4pjeqJ0RJ0hdd+sfOfhK1yE9xAz3nVR0qgN9JmP3/hwe/dGDUa2U+H3 7kaEt0Q0Op84miX0Uv1RKlx+tOh54xceV1riA4UUde4gwfrqNR/lX57t/BnW5gAxaMzM Ex7fJYKNyvA1gGi5/S8jEmbVIsyQOKkLuXM37rSSQW4ZIBR9hIgb/m3Bgh1HV3+z8+qx TjPVOx/ZoLAO1Uxcmb/azdolfyMI3/fwUemioV6bSlGt7L7Rw9d2Cs8tK+8NvT2JzCL3 N+RSIc1DHVLlCCeZIJgTngHM+oGN/StnYD4cLDEjkXNJeLnKCGhkQ1olVK+cqxTzt1jX eJUg== X-Gm-Message-State: ACrzQf2x3J0kbiejXwIubo4928rjczdaH4TALxzvYMDaJc8QaJN9Ff/o ePBU/8wQPFnQfL5+7h/afLI= X-Google-Smtp-Source: AMsMyM5WmF2ejqnrlppI0cJkLeV0e/mbUdO9G6I/wP9HGAXNtDOLjaSTOlHbadKkFi+fXfXpQX2g+A== X-Received: by 2002:a05:6000:7:b0:22c:cae2:294a with SMTP id h7-20020a056000000700b0022ccae2294amr6315287wrx.221.1664560365753; Fri, 30 Sep 2022 10:52:45 -0700 (PDT) Received: from [192.168.28.51] ([54.239.6.187]) by smtp.gmail.com with ESMTPSA id c3-20020a05600c0a4300b003b4fdbb6319sm8799064wmq.21.2022.09.30.10.52.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 30 Sep 2022 10:52:45 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------KbkufrV013iZzRKin5SBbFJy" Message-ID: <05056cfa-50d9-502d-4c4c-4725c6fb9943@gmail.com> Date: Fri, 30 Sep 2022 19:51:29 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [PATCH] Add peer authentication TAP test Content-Language: en-US To: Michael Paquier Cc: PostgreSQL Hackers References: <2ecffb46-8b0c-83cb-2577-bf83262b5f10@gmail.com> From: "Drouvot, Bertrand" In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------KbkufrV013iZzRKin5SBbFJy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 9/30/22 2:00 AM, Michael Paquier wrote: > On Wed, Sep 28, 2022 at 04:24:44PM +0900, Michael Paquier wrote: >> Hmm, indeed. It would be more reliable to rely on the contents >> returned by getpeereid()/getpwuid() after one successful peer >> connection, then use it in the map. I was wondering whether using >> stuff like getpwuid() in the perl script itself would be better, but >> it sounds less of a headache in terms of portability to just rely on >> authn_id via SYSTEM_USER to generate the contents of the correct map. > > By the way, on an extra read I have found a few things that can be > simplified > - I think that test_role() should be reworked so as the log patterns > expected are passed down to connect_ok() and connect_fails() rather > than involving find_in_log(). You still need find_in_log() to skip > properly the case where peer is not supported by the platform, of > course. > - get_log_size() is not necessary. You should be able to get the same > information with "-s $self->logfile". > - Nit: a newline should be added at the end of 003_peer.pl. > -- Agree that it could be simplified, thanks for the hints! Attached a simplified version. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------KbkufrV013iZzRKin5SBbFJy Content-Type: text/plain; charset=UTF-8; name="v2-0001-peer-authentication-tap-test.patch" Content-Disposition: attachment; filename="v2-0001-peer-authentication-tap-test.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAzX3BlZXIucGwgYi9z cmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwM19wZWVyLnBsCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLjU3YmYyMzQzZmMKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwM19wZWVyLnBsCkBAIC0wLDAgKzEsMTA4IEBA CisKKyMgQ29weXJpZ2h0IChjKSAyMDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVu dCBHcm91cAorCisjIFRlc3RzIGZvciBwZWVyIGF1dGhlbnRpY2F0aW9uIGFuZCB1c2VyIG5h bWUgbWFwLgorIyBUaGUgdGVzdCBpcyBza2lwcGVkIGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5v dCBzdXBwb3J0IHBlZXIgYXV0aGVudGljYXRpb24uCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2Fy bmluZ3M7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FM OjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0OjpNb3JlOworCisjIERlbGV0ZSBwZ19oYmEuY29u ZiBmcm9tIHRoZSBnaXZlbiBub2RlLCBhZGQgYSBuZXcgZW50cnkgdG8gaXQKKyMgYW5kIHRo ZW4gZXhlY3V0ZSBhIHJlbG9hZCB0byByZWZyZXNoIGl0Lgorc3ViIHJlc2V0X3BnX2hiYQor eworCW15ICRub2RlICAgICAgID0gc2hpZnQ7CisJbXkgJGhiYV9tZXRob2QgPSBzaGlmdDsK KworCXVubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7CisJIyBqdXN0 IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgYSBjb250aW51YXRpb24gbGluZS4KKwkkbm9k ZS0+YXBwZW5kX2NvbmYoJ3BnX2hiYS5jb25mJywgImxvY2FsIGFsbCBhbGxcXFxuICRoYmFf bWV0aG9kIik7CisJJG5vZGUtPnJlbG9hZDsKKwlyZXR1cm47Cit9CisKKyMgVGVzdCBhY2Nl c3MgZm9yIGEgc2luZ2xlIHJvbGUsIHVzZWZ1bCB0byB3cmFwIGFsbCB0ZXN0cyBpbnRvIG9u ZS4KK3N1YiB0ZXN0X3JvbGUKK3sKKyAgbG9jYWwgJFRlc3Q6OkJ1aWxkZXI6OkxldmVsID0g JFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsKKworICBteSAoJG5vZGUsICRyb2xlLCAkbWV0 aG9kLCAkZXhwZWN0ZWRfcmVzLCAlcGFyYW1zKSA9IEBfOworICBteSAkc3RhdHVzX3N0cmlu ZyA9ICdmYWlsZWQnOworICAkc3RhdHVzX3N0cmluZyA9ICdzdWNjZXNzJyBpZiAoJGV4cGVj dGVkX3JlcyBlcSAwKTsKKworICBteSAkY29ubnN0ciA9ICJ1c2VyPSRyb2xlIjsKKyAgbXkg JHRlc3RuYW1lID0KKyAgICAiYXV0aGVudGljYXRpb24gJHN0YXR1c19zdHJpbmcgZm9yIG1l dGhvZCAkbWV0aG9kLCByb2xlICRyb2xlIjsKKworICBpZiAoJGV4cGVjdGVkX3JlcyBlcSAw KQorICB7CisgICAgJG5vZGUtPmNvbm5lY3Rfb2soJGNvbm5zdHIsICR0ZXN0bmFtZSwgJXBh cmFtcyk7CisgIH0KKyAgZWxzZQorICB7CisgICAgICAjIE5vIGNoZWNrcyBvZiB0aGUgZXJy b3IgbWVzc2FnZSwgb25seSB0aGUgc3RhdHVzIGNvZGUuCisgICAgICAkbm9kZS0+Y29ubmVj dF9mYWlscygkY29ubnN0ciwgJHRlc3RuYW1lLCAlcGFyYW1zKTsKKyAgfQorfQorCisjIGZp bmQgJHBhdCBpbiBsb2dmaWxlIG9mICRub2RlLgorc3ViIGZpbmRfaW5fbG9nCit7CisgIG15 ICgkbm9kZSwgJHBhdCkgPSBAXzsKKworICBteSAkbG9nID0gUG9zdGdyZVNRTDo6VGVzdDo6 VXRpbHM6OnNsdXJwX2ZpbGUoJG5vZGUtPmxvZ2ZpbGUpOworICByZXR1cm4gMCBpZiAobGVu Z3RoKCRsb2cpIDw9IDApOworCisgIHJldHVybiAkbG9nID1+IG0vJHBhdC87Cit9CisKKyMg SW5pdGlhbGl6ZSBwcmltYXJ5IG5vZGUuCitteSAkbm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6 OkNsdXN0ZXItPm5ldygncHJpbWFyeScpOworJG5vZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5k X2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsICJsb2dfY29ubmVjdGlvbnMgPSBvblxuIik7Cisk bm9kZS0+c3RhcnQ7CisKKyMgU2V0IHBnX2hiYS5jb25mIHdpdGggdGhlIHBlZXIgYXV0aGVu dGljYXRpb24uCityZXNldF9wZ19oYmEoJG5vZGUsICdwZWVyJyk7CisKKyMgQ2hlY2sgdGhh dCBwZWVyIGF1dGhlbnRpY2F0aW9uIGlzIHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLgor JG5vZGUtPnBzcWwoJ3Bvc3RncmVzJyk7CisKKyMgSWYgbm90IHN1cHBvcnRlZCwgdGhlbiBz a2lwIHRoZSByZXN0IG9mIHRoZSB0ZXN0LgoraWYgKGZpbmRfaW5fbG9nKCRub2RlLCBxci9w ZWVyIGF1dGhlbnRpY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS8p KQoreworICAgIHBsYW4gc2tpcF9hbGwgPT4gJ3BlZXIgYXV0aGVudGljYXRpb24gaXMgbm90 IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtJzsKK30KKworIyBMZXQncyBjcmVhdGUgYSBu ZXcgdXNlciBmb3IgdGhlIHVzZXIgbmFtZSBtYXAgdGVzdC4KKyRub2RlLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKKyAgcXF7Q1JFQVRFIFVTRVIgdGVzdG1hcHVzZXJ9KTsKKworIyBHZXQg dGhlIHN5c3RlbV91c2VyIHRvIGRlZmluZSB0aGUgdXNlciBuYW1lIG1hcCB0ZXN0LgorbXkg JHN5c3RlbV91c2VyID0KKyAgJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxKHNlbGVj dCAoc3RyaW5nX3RvX2FycmF5KFNZU1RFTV9VU0VSLCAnOicpKVsyXSkpOworCisjIFRoaXMg Y29ubmVjdGlvbiBzaG91bGQgc3VjY2VlZC4KK3Rlc3Rfcm9sZSgkbm9kZSwgJHN5c3RlbV91 c2VyLCAncGVlcicsIDAsCisgICAgbG9nX2xpa2UgPT4KKyAgICAgIFtxci9jb25uZWN0aW9u IGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSIkc3lzdGVtX3VzZXIiIG1ldGhvZD1wZWVyL10p OworCisjIFRoaXMgY29ubmVjdGlvbiBzaG91bGQgZmFpbGVkLgordGVzdF9yb2xlKCRub2Rl LCBxcXt0ZXN0bWFwdXNlcn0sICdwZWVyJywgMiwKKyAgICBsb2dfbGlrZSA9PiBbcXIvUGVl ciBhdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIgInRlc3RtYXB1c2VyIi9dKTsKKwor IyBEZWZpbmUgYSB1c2VyIG5hbWUgbWFwLgorJG5vZGUtPmFwcGVuZF9jb25mKCdwZ19pZGVu dC5jb25mJywgcXF7bXlwZWVybWFwICRzeXN0ZW1fdXNlciB0ZXN0bWFwdXNlcn0pOworCisj IFNldCBwZ19oYmEuY29uZiB3aXRoIHRoZSBwZWVyIGF1dGhlbnRpY2F0aW9uIGFuZCB0aGUg dXNlciBuYW1lIG1hcC4KK3Jlc2V0X3BnX2hiYSgkbm9kZSwgJ3BlZXIgbWFwPW15cGVlcm1h cCcpOworCisjIFRoaXMgY29ubmVjdGlvbiBzaG91bGQgbm93IHN1Y2NlZWQuCit0ZXN0X3Jv bGUoJG5vZGUsIHFxe3Rlc3RtYXB1c2VyfSwgJ3BlZXInLCAwLAorICAgIGxvZ19saWtlID0+ CisgICAgICBbcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0iJHN5c3Rl bV91c2VyIiBtZXRob2Q9cGVlci9dKTsKKworZG9uZV90ZXN0aW5nKCk7Cg== --------------KbkufrV013iZzRKin5SBbFJy--