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 : |
#!/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`"