riot: if remote ends with dot, treat it as a full-hostname; add tests

This commit is contained in:
xiongdian.me 2023-05-25 12:01:36 +08:00
parent cba76bd304
commit 1784292115
2 changed files with 3 additions and 6 deletions

View File

@ -29,10 +29,6 @@ get_server_meta() {
# presets -- match domain
local domain=${remote##*.}
local host=${remote%.*}
# if ends with dot
if [[ -z "$domain" ]]; then
domain="ibd"
fi
# if there's no dot
if [[ "$host" == "$domain" ]]; then
domain="ibd"
@ -51,7 +47,7 @@ get_server_meta() {
RET_JUMP_SERVER="ssh@nasp.ob.ac.cn:36022"
RET_TRUST_SERVER=1
;;
proxied )
x|proxied )
RET_HOSTNAME=proxy.beardic.cn
local tmp=$(sha256sum <<< "$host" | tr -cd "[:digit:]")
tmp=${tmp:0:4}
@ -60,7 +56,7 @@ get_server_meta() {
RET_TRUST_SERVER=1
;;
* )
fmt_warning "unknown domain: $domain. will try as host name"
test -z "$domain" || fmt_warning "unknown domain: \"$domain\". will try as host name"
RET_HOSTNAME="$remote"
esac
}

View File

@ -31,6 +31,7 @@ test $(echo n | tools/common.sh ask_for_yN "test") = "0"
test $(echo | tools/common.sh ask_for_yN "test") = "0"
test $(echo | tools/common.sh ask_for_Yn "test") = "1"
test $(DFS_QUIET=1 tools/common.sh ask_for_Yn "test") = "1"
test "$(DFS_TRUST=1 riot time@is.impt:2222,yes@you-r.right,you@are.really.recht.,ibd.,try@it scp /tmp/ ./tmp -D 2>/dev/null)" = 'scp -P 12022 -o ControlMaster=auto -o ControlPath=/tmp/sshcm-%C -o PermitLocalCommand=yes -o ProxyJump=time@is.impt:2222,yes@you-r.right,you@are.really.recht.,ibd. -r try@it.ibd.ink:"/tmp/" "./tmp"'
# check alias
alias p114