#!/usr/bin/perl
use English;
my @temp = ($EUID, $EGID);
my $orig_uid = $UID;
my $orig_gid = $GID;
print('$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: '.$UID.", ".$GID.", ".$EUID.", ".$EGID.", ".$orig_uid.", ".$orig_gid."\n");
print('@temp: '.$temp[0].", ".$temp[1]."\n\n");
$EUID = $UID;
$EGID = $GID;
print('$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: '.$UID.", ".$GID.", ".$EUID.", ".$EGID.", ".$orig_uid.", ".$orig_gid."\n");
print('@temp: '.$temp[0].", ".$temp[1]."\n\n");
# Drop privileges
$UID = $orig_uid;
$GID = $orig_gid;
print('$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: '.$UID.", ".$GID.", ".$EUID.", ".$EGID.", ".$orig_uid.", ".$orig_gid."\n");
print('@temp: '.$temp[0].", ".$temp[1]."\n\n");
# Make sure privs are really gone
($EUID, $EGID) = @temp;
print('$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: '.$UID.", ".$GID.", ".$EUID.", ".$EGID.", ".$orig_uid.", ".$orig_gid."\n");
print('@temp: '.$temp[0].", ".$temp[1]."\n\n");
####
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 1015, 1001 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 0, 0 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 0, 0 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 1015, 0 0, 0, 0 0
@temp: 1015, 1001 0
####
($EUID, $EGID) = @temp;
####
$EGID = $temp[1];
$EUID = $temp[0];
####
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 1015, 1001 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 0, 0 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 0, 0 0, 0, 0 0
@temp: 1015, 1001 0
$UID, $GID, $EUID, $EGID, $orig_UID, $orig_GID: 0, 0 0, 1015, 1001 0, 0, 0 0
@temp: 1015, 1001 0