procd: mdns: Support txt values with spaces

Properly quote the arguments so that you can register a service with TXT
entries that contains spaces.

Example:
   procd_add_mdns myservice tcp 9999 "key=descriptive text field 1" \
         "another=something equally verbose"

Output before:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = [192.168.255.74]
   port = [9999]
   txt = ["verbose" "equally" "another=something" "1" "field" "text" "key=descriptive"]

Output now:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = [192.168.255.74]
   port = [9999]
   txt = ["another=something equally verbose" "key=descriptive text field 1"]

Signed-off-by: Karl Palsson <karlp@etactica.com>
v19.07.3_mercusys_ac12_duma
Karl Palsson 7 years ago committed by John Crispin
parent 12930fc045
commit 7a423c389a

@ -423,7 +423,7 @@ procd_add_mdns_service() {
json_add_int port "$port" json_add_int port "$port"
[ -n "$1" ] && { [ -n "$1" ] && {
json_add_array txt json_add_array txt
for txt in $@; do json_add_string "" $txt; done for txt in "$@"; do json_add_string "" "$txt"; done
json_select .. json_select ..
} }
json_select .. json_select ..
@ -432,7 +432,7 @@ procd_add_mdns_service() {
procd_add_mdns() { procd_add_mdns() {
procd_open_data procd_open_data
json_add_object "mdns" json_add_object "mdns"
procd_add_mdns_service $@ procd_add_mdns_service "$@"
json_close_object json_close_object
procd_close_data procd_close_data
} }

Loading…
Cancel
Save