403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.133.108.224
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /bin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /bin/unix-lpr.sh
#!/bin/sh
#
# Unix lpr filter. The default setup sends output directly to a pipe,
# which requires the Ghostscript process to fork, and thus may cause 
# small systems to run out of memory/swap space. An alternative strategy,
# based on a suggestion by Andy Fyfe (andy@cs.caltech.edu), uses a named
# pipe for output, which avoids the fork and can thus save a lot of memory.
#
# Unfortunately this approach can cause problems when a print job is aborted, 
# as the abort can cause one of the processes to die, leaving the process 
# at the other end of the pipe hanging forever.
#
# Because of this, the named pipe method has not been made the default,
# but it may be restored by commenting out the lines referring to
# 'gsoutput' and uncommenting the lines referring to 'gspipe'.
#

# This definition is changed on install to match the
# executable name set in the makefile
GS_EXECUTABLE=gs

PBMPLUSPATH=/usr/local/bin
PSFILTERPATH=/usr/local/lib/ghostscript
LOCALPATH=/usr/local/bin
X11HOME=/usr/X11R6

PATH=/bin:/usr/bin:/usr/ucb:/usr/etc
PATH=${PATH}\:${LOCALPATH}\:${PBMPLUSPATH}\:${PSFILTERPATH}
LD_LIBRARY_PATH=${X11HOME}/lib

export PATH LD_LIBRARY_PATH acctfile host user

user= host= acctfile=/dev/null

#
# Redirect stdout to stderr (for the logfile) and open a new channel
# connected to stdout for the raw data. This enables us to keep the
# raw data separate from programmed postscript output and error messages.
#
exec 3>&1 1>&2

#
# Get username and hostname from filter parameters
#
while [ $# != 0 ]
do  case "$1" in
  -n)	user=$2 ; shift ;;
  -h)	host=$2 ; shift ;;
  -*)	;;
  *)	acctfile=$1 ;;
  esac
  shift
done

#
# Get the filter, printer device and queue type (direct/indirect)
#
filter=`basename $0`
device=`dirname $0`
type=`dirname ${device}`
device=`basename ${device}`
fdevname=$device
type=`basename ${type}`

#
# Find the bpp and number of colors, if specified
#

colorspec="`echo ${device} | sed 's/.*\.[0-9][0-9]*\.\([0-9][0-9]*\)$/\1/'`"
if test "$colorspec" = "${device}"
then
    colorspec=""
else
    device=`basename ${device} .$colorspec`
    colorspec="-dColors=$colorspec"
fi

bpp="`echo ${device} | sed 's/.*\.\([0-9][0-9]*\)$/\1/'`"
if test "$bpp" = "${device}"
then
    bpp=1
else
    device=`basename ${device} .$bpp`
fi

#
# Information for the logfile
#
lock=`dirname ${acctfile}`/lock
cf=`sed -n '$p' ${lock}`
job=`sed -n 's/^J//p' ${cf}`
 
echo "gsbanner: ${host}:${user}  Job: ${job}  Date: `date`"
echo "gsif: ${host}:${user} ${fdevname} start - `date`"

#
# Set the direct or indirect output destinations
#
#gspipe=/tmp/gspipe.$$
#mknod ${gspipe} p

case "${type}" in
  direct)
		gsoutput="cat 1>&3" ;;
#		cat ${gspipe} 1>&3 & ;;
  indirect)
		gsoutput="lpr -P${device}.raw" ;;
#		cat ${gspipe} | lpr -P${device}.raw & ;;
esac

(
#
# Any setup required may be done here (eg. setting gamma for colour printing)
#
#echo "{0.333 exp} dup dup currenttransfer setcolortransfer"

#
# The input data is filtered here, before being passed on to Ghostscript
#
case "${filter}" in
  gsif)	  cat ;;
  gsnf)	  psdit ;;
  gstf)	  pscat ;;
  gsgf)	  psplot ;;
  gsvf)	  rasttopnm | pnmtops ;;
  gsdf)	  dvi2ps -sqlw ;;
  gscf|gsrf) echo "${filter}: filter not available" 1>&2 ; exit 0 ;;
esac

#
# This is the postlude which does the accounting
#
echo "\
(acctfile) getenv
  { currentdevice /PageCount gsgetdeviceprop dup cvi 0 gt
    { exch (a) file /acctfile exch def
      /string 20 string def
      string cvs dup length dup
      4 lt
        { 4 exch sub
          { acctfile ( ) writestring } repeat
        } { pop } ifelse
      acctfile exch writestring
      acctfile (.00 ) writestring
      acctfile (host) getenv 
        { string cvs } { (NOHOST) } ifelse writestring
      acctfile (:) writestring
      acctfile (user) getenv
        { string cvs } { (NOUSER) } ifelse writestring
      acctfile (\n) writestring
      acctfile closefile
    } { pop } ifelse
  } if
quit"
) | $GS_EXECUTABLE -q -P- -dSAFER -dNOPAUSE -sDEVICE=${device} \
		-dBitsPerPixel=${bpp} $colorspec \
		-sOutputFile=\|"${gsoutput}" -
#		-sOutputFile=${gspipe} -

rm -f ${gspipe}
#
# End the logfile entry
#
echo "gsif: end - `date`"


Youez - 2016 - github.com/yon3zu
LinuXploit