]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
Replace comma with space when multiple search domains specified.
authorNick Krylov <krylovna@gmail.com>
Thu, 14 Apr 2022 17:02:11 +0000 (20:02 +0300)
committerNick Krylov <krylovna@gmail.com>
Thu, 14 Apr 2022 17:02:11 +0000 (20:02 +0300)
cp.c

diff --git a/cp.c b/cp.c
index 084e5d592154ef08bddea40e0365a3d443b07b9f..cdbd0979194e4a7ba66d6fce6ff9696fae748645 100644 (file)
--- a/cp.c
+++ b/cp.c
@@ -945,8 +945,11 @@ static int handle_hello_reply(const char *data, struct openconnect_info *vpninfo
        }
 
        opt = cpo_get(cpo, cpo_find_child(cpo, OM_idx, "dns_suffix"));
-       if (opt && opt->value && strlen(opt->value))
+       if (opt && opt->value && strlen(opt->value)) {
+               /* Multiple values are comma-separated. Replace commas with spaces if any. */
+               for (char* pos = opt->value; (pos = strchr(opt->value, ',')) != NULL; *pos = ' ');
                new_ip_info.domain = add_option_dup(&new_cstp_opts, "search", opt->value, -1);
+       }
 
        idx = cpo_find_child(cpo, OM_idx, "wins_servers");
        if (idx >= 0) {