403Webshell
Server IP : 103.119.228.120  /  Your IP : 18.119.121.234
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 :  /usr/share/zsh/5.0.2/functions/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/share/zsh/5.0.2/functions/tcp_close
# Usage:
#   tcp_close [-q] [ -a | session ... ]
# -a means all sessions.
# -n means don't close a fake session's fd.
# -q means quiet.
#
# Accepts the -s and -l arguments for consistency with other functions,
# but there is no particular gain in using them
emulate -L zsh
setopt extendedglob cbases

local all quiet opt alias noclose
local -a sessnames

while getopts "aql:ns:" opt; do
    case $opt in
	(a) all=1
	    ;;
	(q) quiet=1
	    ;;
	(l) sessnames+=(${(s.,.)OPTARG})
	    ;;
	(n) noclose=1
	    ;;
	(s) sessnames+=($OPTARG)
	    ;;
	(*) return 1
	    ;;
    esac
done

(( OPTIND > 1 )) && shift $(( OPTIND - 1))

if [[ -n $all ]]; then
    if (( $# )); then
	print "Usage: $0 [ -q ] [ -a | [ session ... ] ]" >&2
	return 1
    fi
    sessnames=(${(k)tcp_by_name})
    if (( ! ${#sessnames} )); then
	[[ -z $quiet ]] && print "No TCP sessions open." >&2
	return 1
    fi
fi

sessnames+=($*)

if (( ! ${#sessnames} )); then
    sessnames+=($TCP_SESS)
fi

if (( ! ${#sessnames} )); then
    [[ -z $quiet ]] && print "No current TCP session." >&2
    return 1
fi

local tcp_sess fd
integer stat curstat

# Check to see if the fd is opened for a TCP session, or was opened
# to a pre-existing fd.  We could remember this from tcp_open.
local -A ztcp_fds
local line match mbegin mend

if zmodload -e zsh/net/tcp; then
    ztcp | while read line; do
        if [[ $line = (#b)*fd\ ([0-9]##) ]]; then
	    ztcp_fds[$match[1]]=1
	fi
    done
fi

for tcp_sess in $sessnames; do
    curstat=0
    fd=${tcp_by_name[$tcp_sess]}
    if [[ -z $fd ]]; then
	print "No TCP session $tcp_sess!" >&2
	stat=1
	continue
    fi
    # We need the base name if this is an alias.
    tcp_sess=${tcp_by_fd[$fd]}
    if [[ -z $tcp_sess ]]; then
	if [[ -z $quiet ]]; then
	    print "Aaargh!  Session for fd $fd has disappeared!" >&2
	fi
	stat=1
	continue
    fi

    if [[ ${+tcp_aliases} -ne 0 && -n ${tcp_aliases[$fd]} ]]; then
	for alias in ${=tcp_aliases[$fd]}; do
	    if (( ${+functions[tcp_on_unalias]} )); then
		tcp_on_unalias $alias $fd
	    fi
	    unset "tcp_by_name[$alias]"
	done
	unset "tcp_aliases[$fd]"
    fi

    # Don't return just because the zle handler couldn't be uninstalled...
    if [[ -o zle ]]; then
	zle -F $fd || print "[Ignoring...]" >&2
    fi

    if [[ -n $ztcp_fds[$fd] ]]; then
        # It's a ztcp session.
	if ! ztcp -c $fd; then
	    stat=1
	    curstat=1
	fi
    elif [[ -z $noclose ]]; then
        # It's not, just close it normally.
        # Careful: syntax for closing fd's is quite strict.
	if [[ ${#fd} -gt 1 ]]; then
	    [[ -z $quiet ]] && print "Can't close fd $fd; will leave open." >&2
	else
	    eval "exec $fd>&-"
	fi
    fi

    unset "tcp_by_name[$tcp_sess]"
    unset "tcp_by_fd[$fd]"
    if [[ -z $quiet && $curstat -eq 0 ]]; then
	print "Session $tcp_sess successfully closed."
    fi
    [[ $tcp_sess = $TCP_SESS ]] && unset TCP_SESS

    if (( ${+functions[tcp_on_close]} )); then
	tcp_on_close $tcp_sess $fd
    fi
done

return $stat

Youez - 2016 - github.com/yon3zu
LinuXploit