mirror of
https://github.com/postgres/postgres.git
synced 2025-11-07 19:06:32 +03:00
Remove db_user_namespace.
This feature was intended to be a temporary measure to support per-database user names. A better one hasn't materialized in the ~21 years since it was added, and nobody claims to be using it, so let's just remove it. Reviewed-by: Michael Paquier, Magnus Hagander Discussion: https://postgr.es/m/20230630200509.GA2830328%40nathanxps13 Discussion: https://postgr.es/m/20230630215608.GD2941194%40nathanxps13
This commit is contained in:
@@ -873,11 +873,6 @@ CheckMD5Auth(Port *port, char *shadow_pass, const char **logdetail)
|
||||
char *passwd;
|
||||
int result;
|
||||
|
||||
if (Db_user_namespace)
|
||||
ereport(FATAL,
|
||||
(errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION),
|
||||
errmsg("MD5 authentication is not supported when \"db_user_namespace\" is enabled")));
|
||||
|
||||
/* include the salt to use for computing the response */
|
||||
if (!pg_strong_random(md5Salt, 4))
|
||||
{
|
||||
|
||||
@@ -1741,19 +1741,7 @@ parse_hba_line(TokenizedAuthLine *tok_line, int elevel)
|
||||
else if (strcmp(token->string, "reject") == 0)
|
||||
parsedline->auth_method = uaReject;
|
||||
else if (strcmp(token->string, "md5") == 0)
|
||||
{
|
||||
if (Db_user_namespace)
|
||||
{
|
||||
ereport(elevel,
|
||||
(errcode(ERRCODE_CONFIG_FILE_ERROR),
|
||||
errmsg("MD5 authentication is not supported when \"db_user_namespace\" is enabled"),
|
||||
errcontext("line %d of configuration file \"%s\"",
|
||||
line_num, file_name)));
|
||||
*err_msg = "MD5 authentication is not supported when \"db_user_namespace\" is enabled";
|
||||
return NULL;
|
||||
}
|
||||
parsedline->auth_method = uaMD5;
|
||||
}
|
||||
else if (strcmp(token->string, "scram-sha-256") == 0)
|
||||
parsedline->auth_method = uaSCRAM;
|
||||
else if (strcmp(token->string, "pam") == 0)
|
||||
|
||||
@@ -236,7 +236,6 @@ int AuthenticationTimeout = 60;
|
||||
|
||||
bool log_hostname; /* for ps display and logging */
|
||||
bool Log_connections = false;
|
||||
bool Db_user_namespace = false;
|
||||
|
||||
bool enable_bonjour = false;
|
||||
char *bonjour_name;
|
||||
@@ -2272,24 +2271,6 @@ retry1:
|
||||
if (port->database_name == NULL || port->database_name[0] == '\0')
|
||||
port->database_name = pstrdup(port->user_name);
|
||||
|
||||
if (Db_user_namespace)
|
||||
{
|
||||
/*
|
||||
* If user@, it is a global user, remove '@'. We only want to do this
|
||||
* if there is an '@' at the end and no earlier in the user string or
|
||||
* they may fake as a local user of another database attaching to this
|
||||
* database.
|
||||
*/
|
||||
if (strchr(port->user_name, '@') ==
|
||||
port->user_name + strlen(port->user_name) - 1)
|
||||
*strchr(port->user_name, '@') = '\0';
|
||||
else
|
||||
{
|
||||
/* Append '@' and dbname */
|
||||
port->user_name = psprintf("%s@%s", port->user_name, port->database_name);
|
||||
}
|
||||
}
|
||||
|
||||
if (am_walsender)
|
||||
MyBackendType = B_WAL_SENDER;
|
||||
else
|
||||
|
||||
@@ -1545,15 +1545,6 @@ struct config_bool ConfigureNamesBool[] =
|
||||
false,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
{
|
||||
{"db_user_namespace", PGC_SIGHUP, CONN_AUTH_AUTH,
|
||||
gettext_noop("Enables per-database user names."),
|
||||
NULL
|
||||
},
|
||||
&Db_user_namespace,
|
||||
false,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
{
|
||||
{"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT,
|
||||
gettext_noop("Sets the default read-only status of new transactions."),
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
#authentication_timeout = 1min # 1s-600s
|
||||
#password_encryption = scram-sha-256 # scram-sha-256 or md5
|
||||
#scram_iterations = 4096
|
||||
#db_user_namespace = off
|
||||
|
||||
# GSSAPI using Kerberos
|
||||
#krb_server_keyfile = 'FILE:${sysconfdir}/krb5.keytab'
|
||||
|
||||
Reference in New Issue
Block a user