varlinkctl: add protocol upgrade support

The varlink spec supports protocol upgrades and they are very
useful to e.g. transfer binary data directly via varlink. So
far varlinkctl/sd-varlink was not supporting this. This commit
adds support for it in varlinkctl by using the new code in
sd-varlink and the generalized socket-forward code.
This commit is contained in:
Michael Vogt
2026-03-31 18:25:09 +02:00
parent 555dde10a0
commit 0fc3f85d35
5 changed files with 217 additions and 4 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ _varlinkctl() {
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local -A OPTS=(
[STANDALONE]='-h --help --version --no-pager -q --quiet --no-ask-password
--oneway --collect --more --exec -j -E'
--oneway --collect --more --exec --upgrade -j -E'
[ARG]='--graceful --timeout --push-fd --json'
)
+1
View File
@@ -65,6 +65,7 @@ local -a opts=(
'--no-pager[Do not pipe output to a pager]'
'--more[Request multiple responses]'
'--collect[Collect multiple responses in a JSON array]'
'--upgrade[Upgrade connection to raw protocol after method call]'
{-j+,--json=}'[Output as json]:json-mode:(pretty short)'
)
_arguments -S $opts '*:: := _varlinkctl_command'