diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/libpq/crypt.c | 13 | ||||
-rw-r--r-- | src/backend/libpq/pg_hba.conf.sample | 4 | ||||
-rw-r--r-- | src/backend/utils/misc/superuser.c | 4 | ||||
-rw-r--r-- | src/bin/scripts/dropuser.c | 12 | ||||
-rw-r--r-- | src/test/regress/expected/privileges.out | 48 | ||||
-rw-r--r-- | src/test/regress/sql/privileges.sql | 48 | ||||
-rw-r--r-- | src/tutorial/syscat.source | 27 |
7 files changed, 76 insertions, 80 deletions
diff --git a/src/backend/libpq/crypt.c b/src/backend/libpq/crypt.c index 297db1eea91..4e91b1a36f0 100644 --- a/src/backend/libpq/crypt.c +++ b/src/backend/libpq/crypt.c @@ -9,7 +9,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/libpq/crypt.c,v 1.64 2005/06/29 22:51:54 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/libpq/crypt.c,v 1.65 2005/08/15 02:40:25 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -57,7 +57,7 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass) if (shadow_pass == NULL || *shadow_pass == '\0') return STATUS_ERROR; - /* We can't do crypt with pg_shadow MD5 passwords */ + /* We can't do crypt with MD5 passwords */ if (isMD5(shadow_pass) && port->auth_method == uaCrypt) { ereport(LOG, @@ -75,7 +75,7 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass) crypt_pwd = palloc(MD5_PASSWD_LEN + 1); if (isMD5(shadow_pass)) { - /* pg_shadow already encrypted, only do salt */ + /* stored password already encrypted, only do salt */ if (!EncryptMD5(shadow_pass + strlen("md5"), (char *) port->md5Salt, sizeof(port->md5Salt), crypt_pwd)) @@ -86,7 +86,7 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass) } else { - /* pg_shadow plain, double-encrypt */ + /* stored password is plain, double-encrypt */ char *crypt_pwd2 = palloc(MD5_PASSWD_LEN + 1); if (!EncryptMD5(shadow_pass, @@ -121,10 +121,7 @@ md5_crypt_verify(const Port *port, const char *role, char *client_pass) default: if (isMD5(shadow_pass)) { - /* - * Encrypt user-supplied password to match MD5 in - * pg_shadow - */ + /* Encrypt user-supplied password to match stored MD5 */ crypt_client_pass = palloc(MD5_PASSWD_LEN + 1); if (!EncryptMD5(client_pass, port->user_name, diff --git a/src/backend/libpq/pg_hba.conf.sample b/src/backend/libpq/pg_hba.conf.sample index b47ca578ae1..7e1dde784bf 100644 --- a/src/backend/libpq/pg_hba.conf.sample +++ b/src/backend/libpq/pg_hba.conf.sample @@ -20,7 +20,7 @@ # "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an # SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket. # -# DATABASE can be "all", "sameuser", "samegroup", a database name, or +# DATABASE can be "all", "sameuser", "samerole", a database name, or # a comma-separated list thereof. # # USER can be "all", a user name, a group name prefixed with "+", or @@ -42,7 +42,7 @@ # # Database and user names containing spaces, commas, quotes and other special # characters must be quoted. Quoting one of the keywords "all", "sameuser" or -# "samegroup" makes the name lose its special character, and just match a +# "samerole" makes the name lose its special character, and just match a # database or username with that name. # # This file is read on server startup and when the postmaster receives diff --git a/src/backend/utils/misc/superuser.c b/src/backend/utils/misc/superuser.c index 9e965b8107f..c9c17cef704 100644 --- a/src/backend/utils/misc/superuser.c +++ b/src/backend/utils/misc/superuser.c @@ -5,7 +5,7 @@ * * All code should use either of these two functions to find out * whether a given user is a superuser, rather than examining - * pg_shadow.usesuper directly, so that the escape hatch built in for + * pg_authid.rolsuper directly, so that the escape hatch built in for * the single-user case works. * * @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/misc/superuser.c,v 1.32 2005/06/28 05:09:02 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/superuser.c,v 1.33 2005/08/15 02:40:26 tgl Exp $ * *------------------------------------------------------------------------- */ diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index 32aa83557a6..8158d412eb7 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.14 2005/06/21 04:02:33 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.15 2005/08/15 02:40:28 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -101,20 +101,20 @@ main(int argc, char *argv[]) } if (dropuser == NULL) - dropuser = simple_prompt("Enter name of user to drop: ", 128, true); + dropuser = simple_prompt("Enter name of role to drop: ", 128, true); if (interactive) { char *reply; - printf(_("User \"%s\" will be permanently removed.\n"), dropuser); + printf(_("Role \"%s\" will be permanently removed.\n"), dropuser); reply = simple_prompt("Are you sure? (y/n) ", 1, true); if (check_yesno_response(reply) != 1) exit(0); } initPQExpBuffer(&sql); - appendPQExpBuffer(&sql, "DROP USER %s;\n", fmtId(dropuser)); + appendPQExpBuffer(&sql, "DROP ROLE %s;\n", fmtId(dropuser)); conn = connectDatabase("postgres", host, port, username, password, progname); @@ -124,7 +124,7 @@ main(int argc, char *argv[]) if (PQresultStatus(result) != PGRES_COMMAND_OK) { - fprintf(stderr, _("%s: removal of user \"%s\" failed: %s"), + fprintf(stderr, _("%s: removal of role \"%s\" failed: %s"), progname, dropuser, PQerrorMessage(conn)); PQfinish(conn); exit(1); @@ -133,7 +133,7 @@ main(int argc, char *argv[]) PQfinish(conn); if (!quiet) { - puts("DROP USER"); + puts("DROP ROLE"); fflush(stdout); } exit(0); diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index 293d84e8f4d..354f5b29845 100644 --- a/src/test/regress/expected/privileges.out +++ b/src/test/regress/expected/privileges.out @@ -306,15 +306,15 @@ select has_table_privilege(current_user,'pg_authid','insert'); t (1 row) -select has_table_privilege(t2.usesysid,'pg_authid','update') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_authid','update') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t (1 row) -select has_table_privilege(t2.usesysid,'pg_authid','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_authid','delete') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t @@ -334,17 +334,17 @@ from (select oid from pg_class where relname = 'pg_authid') as t1; t (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_authid') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'insert') +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_authid') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t @@ -390,15 +390,15 @@ select has_table_privilege(current_user,'pg_class','insert'); f (1 row) -select has_table_privilege(t2.usesysid,'pg_class','update') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_class','update') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f (1 row) -select has_table_privilege(t2.usesysid,'pg_class','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_class','delete') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f @@ -418,17 +418,17 @@ from (select oid from pg_class where relname = 'pg_class') as t1; f (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_class') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'insert') +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_class') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f @@ -472,15 +472,15 @@ select has_table_privilege(current_user,'atest1','insert'); f (1 row) -select has_table_privilege(t2.usesysid,'atest1','update') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'atest1','update') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f (1 row) -select has_table_privilege(t2.usesysid,'atest1','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'atest1','delete') +from (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f @@ -500,17 +500,17 @@ from (select oid from pg_class where relname = 'atest1') as t1; f (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'atest1') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- t (1 row) -select has_table_privilege(t2.usesysid,t1.oid,'insert') +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'atest1') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; has_table_privilege --------------------- f diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index ce65fefe61b..ad08b7968e7 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -205,22 +205,22 @@ select has_table_privilege(1,'rule'); select has_table_privilege(current_user,'pg_authid','select'); select has_table_privilege(current_user,'pg_authid','insert'); -select has_table_privilege(t2.usesysid,'pg_authid','update') -from (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,'pg_authid','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_authid','update') +from (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,'pg_authid','delete') +from (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege(current_user,t1.oid,'rule') from (select oid from pg_class where relname = 'pg_authid') as t1; select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'pg_authid') as t1; -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_authid') as t1, - (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,t1.oid,'insert') + (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_authid') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege('pg_authid','update'); select has_table_privilege('pg_authid','delete'); @@ -236,22 +236,22 @@ SET SESSION AUTHORIZATION regressuser3; select has_table_privilege(current_user,'pg_class','select'); select has_table_privilege(current_user,'pg_class','insert'); -select has_table_privilege(t2.usesysid,'pg_class','update') -from (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,'pg_class','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'pg_class','update') +from (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,'pg_class','delete') +from (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege(current_user,t1.oid,'rule') from (select oid from pg_class where relname = 'pg_class') as t1; select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'pg_class') as t1; -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_class') as t1, - (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,t1.oid,'insert') + (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_class') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege('pg_class','update'); select has_table_privilege('pg_class','delete'); @@ -264,22 +264,22 @@ from (select oid from pg_class where relname = 'pg_class') as t1; select has_table_privilege(current_user,'atest1','select'); select has_table_privilege(current_user,'atest1','insert'); -select has_table_privilege(t2.usesysid,'atest1','update') -from (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,'atest1','delete') -from (select usesysid from pg_user where usename = current_user) as t2; +select has_table_privilege(t2.oid,'atest1','update') +from (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,'atest1','delete') +from (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege(current_user,t1.oid,'rule') from (select oid from pg_class where relname = 'atest1') as t1; select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'atest1') as t1; -select has_table_privilege(t2.usesysid,t1.oid,'select') +select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'atest1') as t1, - (select usesysid from pg_user where usename = current_user) as t2; -select has_table_privilege(t2.usesysid,t1.oid,'insert') + (select oid from pg_roles where rolname = current_user) as t2; +select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'atest1') as t1, - (select usesysid from pg_user where usename = current_user) as t2; + (select oid from pg_roles where rolname = current_user) as t2; select has_table_privilege('atest1','update'); select has_table_privilege('atest1','delete'); diff --git a/src/tutorial/syscat.source b/src/tutorial/syscat.source index 01f4aea26c9..ace4634fd7f 100644 --- a/src/tutorial/syscat.source +++ b/src/tutorial/syscat.source @@ -7,7 +7,7 @@ -- Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group -- Portions Copyright (c) 1994, Regents of the University of California -- --- $PostgreSQL: pgsql/src/tutorial/syscat.source,v 1.14 2004/12/31 22:04:05 pgsql Exp $ +-- $PostgreSQL: pgsql/src/tutorial/syscat.source,v 1.15 2005/08/15 02:40:36 tgl Exp $ -- --------------------------------------------------------------------------- @@ -18,13 +18,12 @@ SET SEARCH_PATH TO pg_catalog; -- --- lists the name of all database adminstrators and the name of their --- database(s) +-- lists the names of all database owners and the name of their database(s) -- -SELECT usename, datname - FROM pg_user, pg_database - WHERE usesysid = datdba - ORDER BY usename, datname; +SELECT rolname, datname + FROM pg_roles, pg_database + WHERE pg_roles.oid = datdba + ORDER BY rolname, datname; -- -- lists all user-defined classes @@ -81,15 +80,15 @@ SELECT n.nspname, c.relname, a.attname, format_type(t.oid, null) as typname -- -- lists all user-defined base types (not including array types) -- -SELECT n.nspname, u.usename, format_type(t.oid, null) as typname - FROM pg_type t, pg_user u, pg_namespace n - WHERE u.usesysid = t.typowner +SELECT n.nspname, r.rolname, format_type(t.oid, null) as typname + FROM pg_type t, pg_roles r, pg_namespace n + WHERE r.oid = t.typowner and t.typnamespace = n.oid - and t.typrelid = '0'::oid -- no complex types - and t.typelem = '0'::oid -- no arrays - and n.nspname not like 'pg\\_%' -- no catalogs + and t.typrelid = 0 -- no complex types + and t.typelem = 0 -- no arrays + and n.nspname not like 'pg\\_%' -- no built-in types and n.nspname != 'information_schema' -- no information_schema - ORDER BY nspname, usename, typname; + ORDER BY nspname, rolname, typname; -- |