From d204c50d9951c96cb89876ca376f6d5f9524ffbf Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Sat, 5 Mar 2016 11:06:14 +0100 Subject: [PATCH 2/2] openconnect: introduced the --local-hostname option Signed-off-by: Nikos Mavrogiannopoulos --- main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 20920e6..39247d1 100644 --- a/main.c +++ b/main.c @@ -186,6 +186,7 @@ enum { OPT_PFS, OPT_PROXY_AUTH, OPT_HTTP_AUTH, + OPT_LOCAL_HOSTNAME, }; #ifdef __sun__ @@ -250,6 +251,7 @@ static const struct option long_options[] = { OPTION("resolve", 1, OPT_RESOLVE), OPTION("key-password-from-fsid", 0, OPT_KEY_PASSWORD_FROM_FSID), OPTION("useragent", 1, OPT_USERAGENT), + OPTION("local-hostname", 1, OPT_LOCAL_HOSTNAME), OPTION("disable-ipv6", 0, OPT_DISABLE_IPV6), OPTION("no-proxy", 0, OPT_NO_PROXY), OPTION("libproxy", 0, OPT_LIBPROXY), @@ -812,6 +814,7 @@ static void usage(void) printf(" --reconnect-timeout %s\n", _("Connection retry timeout in seconds")); printf(" --servercert=FINGERPRINT %s\n", _("Server's certificate SHA1 fingerprint")); printf(" --useragent=STRING %s\n", _("HTTP header User-Agent: field")); + printf(" --local-hostname=STRING %s\n", _("Local hostname to advertise to server")); printf(" --resolve=HOST:IP %s\n", _("Use IP when connecting to HOST")); printf(" --os=STRING %s\n", _("OS type (linux,linux-64,win,...) to report")); printf(" --dtls-local-port=PORT %s\n", _("Set local port for DTLS datagrams")); @@ -1065,9 +1068,9 @@ int main(int argc, char **argv) vpninfo->use_tun_script = 0; vpninfo->uid = getuid(); vpninfo->gid = getgid(); + if (!uname(&utsbuf)) { - free(vpninfo->localname); - vpninfo->localname = xstrdup(utsbuf.nodename); + openconnect_set_localname(vpninfo, utsbuf.nodename); } #endif @@ -1322,6 +1325,9 @@ int main(int argc, char **argv) free(vpninfo->useragent); vpninfo->useragent = dup_config_arg(); break; + case OPT_LOCAL_HOSTNAME: + openconnect_set_localname(vpninfo, config_arg); + break; case OPT_FORCE_DPD: openconnect_set_dpd(vpninfo, atoi(config_arg)); break; -- 2.5.1