Server IP : 192.168.23.10  /  Your IP : 216.73.216.220
Web Server : Apache
System : Linux echo.premieradvertising.com 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 7 14:54:22 EST 2023 x86_64
User : rrrallyteam ( 1049)
PHP Version : 8.1.32
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /home/../../usr/share/doc/perl-TimeDate/../python3-pyparsing/../rsync/support/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/../../usr/share/doc/perl-TimeDate/../python3-pyparsing/../rsync/support/deny-rsync
#!/usr/bin/env bash
# Send an error message via the rsync-protocol to a non-daemon client rsync.
#
# Usage:  deny-rsync "message"

protocol_version=29
exit_code=4 # same as a daemon that refuses an option

# e.g. byte_escape 29 => \035
function byte_escape {
    echo -ne "\\0$(printf "%o" $1)"
}

msg="$1"
if [ "${#msg}" -gt 254 ]; then
    # truncate a message that is too long for this naive script to handle
    msg="${msg:0:251}..."
fi
msglen=$(( ${#msg} + 1 )) # add 1 for the newline we append below

# Send protocol version.  All numbers are LSB-first 4-byte ints.
echo -ne "$(byte_escape $protocol_version)\\000\\000\\000"

# Send a zero checksum seed.
echo -ne "\\000\\000\\000\\000"

# The following is equivalent to rprintf(FERROR_XFER, "%s\n", $msg).
# 1. Message header: ((MPLEX_BASE + FERROR_XFER) << 24) + $msglen.
echo -ne "$(byte_escape $msglen)\\000\\000\\010"
# 2. The actual data.
echo -E "$msg"

# Make sure the client gets our message, not a write failure.
sleep 1

exit $exit_code