mirror of
https://github.com/postgres/postgres.git
synced 2025-07-15 19:21:59 +03:00
oauth: Use IPv4-only issuer in oauth_validator tests
The test authorization server implemented in oauth_server.py does not listen on IPv6. Most of the time, libcurl happily falls back to IPv4 after failing its initial connection, but on NetBSD, something is consistently showing up on the unreserved IPv6 port and causing a test failure. Rather than deal with dual-stack details across all test platforms, change the issuer to enforce the use of IPv4 only. (This elicits more punishing timeout behavior from libcurl, so it's a useful change from the testing perspective as well.) Author: Jacob Champion <jacob.champion@enterprisedb.com> Reported-by: Thomas Munro <thomas.munro@gmail.com> Discussion: https://postgr.es/m/CAOYmi%2Bn4EDOOUL27_OqYT2-F2rS6S%2B3mK-ppWb2Ec92UEoUbYA%40mail.gmail.com
This commit is contained in:
@ -68,7 +68,7 @@ END
|
||||
}
|
||||
|
||||
my $port = $webserver->port();
|
||||
my $issuer = "http://localhost:$port";
|
||||
my $issuer = "http://127.0.0.1:$port";
|
||||
|
||||
unlink($node->data_dir . '/pg_hba.conf');
|
||||
$node->append_conf(
|
||||
|
@ -15,7 +15,7 @@ OAuth::Server - runs a mock OAuth authorization server for testing
|
||||
$server->run;
|
||||
|
||||
my $port = $server->port;
|
||||
my $issuer = "http://localhost:$port";
|
||||
my $issuer = "http://127.0.0.1:$port";
|
||||
|
||||
# test against $issuer...
|
||||
|
||||
@ -28,7 +28,7 @@ daemon implemented in t/oauth_server.py. (Python has a fairly usable HTTP server
|
||||
in its standard library, so the implementation was ported from Perl.)
|
||||
|
||||
This authorization server does not use TLS (it implements a nonstandard, unsafe
|
||||
issuer at "http://localhost:<port>"), so libpq in particular will need to set
|
||||
issuer at "http://127.0.0.1:<port>"), so libpq in particular will need to set
|
||||
PGOAUTHDEBUG=UNSAFE to be able to talk to it.
|
||||
|
||||
=cut
|
||||
|
@ -251,7 +251,7 @@ class OAuthHandler(http.server.BaseHTTPRequestHandler):
|
||||
def config(self) -> JsonObject:
|
||||
port = self.server.socket.getsockname()[1]
|
||||
|
||||
issuer = f"http://localhost:{port}"
|
||||
issuer = f"http://127.0.0.1:{port}"
|
||||
if self._alt_issuer:
|
||||
issuer += "/alternate"
|
||||
elif self._parameterized:
|
||||
|
Reference in New Issue
Block a user