From 763adb5235d3ca07f753e0eeb3f0e3c99545ab93 Mon Sep 17 00:00:00 2001 From: Bryan Henderson Date: Sat, 2 Nov 1996 02:06:47 +0000 Subject: [PATCH] Convenience routine for checking superuser status. --- src/backend/utils/misc/Makefile | 37 ++++++++++++++++++++++++++++++++ src/backend/utils/misc/superuser.c | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 src/backend/utils/misc/Makefile create mode 100644 src/backend/utils/misc/superuser.c diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile new file mode 100644 index 0000000000..39f52138a3 --- /dev/null +++ b/src/backend/utils/misc/Makefile @@ -0,0 +1,37 @@ +#------------------------------------------------------------------------- +# +# Makefile-- +# Makefile for utils/misc +# +# IDENTIFICATION +# $Header: /cvsroot/pgsql/src/backend/utils/misc/Makefile,v 1.1 1996/11/02 02:06:46 bryanh Exp $ +# +#------------------------------------------------------------------------- + +SRCDIR = ../../.. +include ../../../Makefile.global + +INCLUDE_OPT = \ + -I../../port/$(PORTNAME) \ + -I../../include \ + -I../../../include + +CFLAGS += $(INCLUDE_OPT) + +OBJS = superuser.o + +all: SUBSYS.o + +SUBSYS.o: $(OBJS) + $(LD) -r -o SUBSYS.o $(OBJS) + +depend dep: + $(CC) -MM $(INCLUDE_OPT) *.c >depend + +clean: + rm -f SUBSYS.o $(OBJS) + +ifeq (depend,$(wildcard depend)) +include depend +endif + diff --git a/src/backend/utils/misc/superuser.c b/src/backend/utils/misc/superuser.c new file mode 100644 index 0000000000..69781ef34d --- /dev/null +++ b/src/backend/utils/misc/superuser.c @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * superuser.c-- + * + * The superuser() function. Determines if user has superuser privilege. + * + * Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/backend/utils/misc/superuser.c,v 1.1 1996/11/02 02:06:47 bryanh Exp $ + * + * DESCRIPTION + * See superuser(). + *------------------------------------------------------------------------- + */ + +#include +#include +#include +#include +#include + + + +bool +superuser(void) { +/*-------------------------------------------------------------------------- + The Postgres user running this command has Postgres superuser + privileges. +--------------------------------------------------------------------------*/ + extern char *UserName; /* defined in global.c */ + + HeapTuple utup; + + utup = SearchSysCacheTuple(USENAME, PointerGetDatum(UserName), + 0,0,0); + Assert(utup != NULL); + return ((Form_pg_user)GETSTRUCT(utup))->usesuper; +} + + + -- 2.11.0