1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

wsrep_sst scripts: support traditional netcat

This commit is contained in:
Sergei Golubchik
2018-03-20 22:35:19 +01:00
parent 89b0d5cb6e
commit a15ab358fc
3 changed files with 48 additions and 7 deletions

View File

@ -179,12 +179,26 @@ get_transfer()
wsrep_log_info "Using netcat as streamer"
if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then
if nc -h 2>&1 | grep -q ncat;then
# Ncat
tcmd="nc -l ${TSST_PORT}"
else
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc -dl ${TSST_PORT}"
else
# traditional netcat
tcmd="nc -l -p ${TSST_PORT}"
fi
else
tcmd="nc ${REMOTEIP} ${TSST_PORT}"
if nc -h 2>&1 | grep -q ncat;then
# Ncat
tcmd="nc ${REMOTEIP} ${TSST_PORT}"
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc ${REMOTEIP} ${TSST_PORT}"
else
# traditional netcat
tcmd="nc -q0 ${REMOTEIP} ${TSST_PORT}"
fi
fi
else
tfmt='socat'

View File

@ -268,13 +268,26 @@ get_transfer()
wsrep_log_info "Using netcat as streamer"
if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then
if nc -h 2>&1 | grep -q ncat; then
# Ncat
tcmd="nc $sockopt -l ${TSST_PORT}"
else
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc $sockopt -dl ${TSST_PORT}"
else
# traditional netcat
tcmd="nc $sockopt -l -p ${TSST_PORT}"
fi
else
# netcat doesn't understand [] around IPv6 address
tcmd="nc ${WSREP_SST_OPT_HOST_UNESCAPED} ${TSST_PORT}"
if nc -h 2>&1 | grep -q ncat;then
# Ncat
tcmd="nc ${WSREP_SST_OPT_HOST_UNESCAPED} ${TSST_PORT}"
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc ${WSREP_SST_OPT_HOST_UNESCAPED} ${TSST_PORT}"
else
# traditional netcat
tcmd="nc -q0 ${WSREP_SST_OPT_HOST_UNESCAPED} ${TSST_PORT}"
fi
fi
else
tfmt='socat'

View File

@ -144,12 +144,26 @@ get_transfer()
wsrep_log_info "Using netcat as streamer"
if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]];then
if nc -h 2>&1 | grep -q ncat;then
# Ncat
tcmd="nc -l ${TSST_PORT}"
else
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc -dl ${TSST_PORT}"
else
# traditional netcat
tcmd="nc -l -p ${TSST_PORT}"
fi
else
tcmd="nc ${WSREP_SST_OPT_HOST_UNESCAPED} ${TSST_PORT}"
if nc -h 2>&1 | grep -q ncat;then
# Ncat
tcmd="nc ${REMOTEIP} ${TSST_PORT}"
elif nc -h 2>&1 | grep -q -- '-d\>';then
# Debian netcat
tcmd="nc ${REMOTEIP} ${TSST_PORT}"
else
# traditional netcat
tcmd="nc -q0 ${REMOTEIP} ${TSST_PORT}"
fi
fi
else
tfmt='socat'