mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# A wrapper script to launch psql command in regression test
 | 
						|
#
 | 
						|
# Copyright (c) 2010-2019, PostgreSQL Global Development Group
 | 
						|
#
 | 
						|
# -------------------------------------------------------------------------
 | 
						|
 | 
						|
if [ $# -lt 1 ]; then
 | 
						|
    echo "usage: `basename $0` <command> [options...]"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
RUNCON=`which runcon`
 | 
						|
if [ ! -e "$RUNCON" ]; then
 | 
						|
    echo "runcon command is not found"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
#
 | 
						|
# Read SQL from stdin
 | 
						|
#
 | 
						|
TEMP=`mktemp`
 | 
						|
CONTEXT="unconfined_u:unconfined_r:sepgsql_regtest_superuser_t:s0-s0:c0.c255"
 | 
						|
 | 
						|
while IFS='\\n' read LINE
 | 
						|
do
 | 
						|
    if echo "$LINE" | grep -q "^-- @SECURITY-CONTEXT="; then
 | 
						|
        if [ -s "$TEMP" ]; then
 | 
						|
            if [ -n "$CONTEXT" ]; then
 | 
						|
                "$RUNCON" "$CONTEXT" $* < "$TEMP"
 | 
						|
            else
 | 
						|
                $* < $TEMP
 | 
						|
            fi
 | 
						|
            truncate -s0 $TEMP
 | 
						|
        fi
 | 
						|
        CONTEXT=`echo "$LINE" | sed 's/^-- @SECURITY-CONTEXT=//g'`
 | 
						|
        LINE="SELECT sepgsql_getcon();	-- confirm client privilege"
 | 
						|
    fi
 | 
						|
    echo "$LINE" >> $TEMP
 | 
						|
done
 | 
						|
 | 
						|
if [ -s "$TEMP" ]; then
 | 
						|
    if [ -n "$CONTEXT" ]; then
 | 
						|
        "$RUNCON" "$CONTEXT" $* < "$TEMP"
 | 
						|
    else
 | 
						|
        $* < $TEMP
 | 
						|
    fi
 | 
						|
fi
 | 
						|
 | 
						|
# cleanup temp file
 | 
						|
rm -f $TEMP
 |