From patchwork Thu Jan 25 08:41:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selva Nair X-Patchwork-Id: 214 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director2.mail.ord1d.rsapps.net ([172.28.255.1]) by backend31.mail.ord1d.rsapps.net (Dovecot) with LMTP id 9bnrEBAzalr5fwAAgoeIoA for ; Thu, 25 Jan 2018 14:42:08 -0500 Received: from director7.mail.ord1c.rsapps.net ([172.28.255.1]) by director2.mail.ord1d.rsapps.net (Dovecot) with LMTP id 7eGKARAzalqKDgAAgYhSiA ; Thu, 25 Jan 2018 14:42:08 -0500 Received: from smtp6.gate.ord1c ([172.28.255.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by director7.mail.ord1c.rsapps.net (Dovecot) with LMTP id KHrJABAzalpCCQAAqdfm7w ; Thu, 25 Jan 2018 14:42:08 -0500 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.34.181.88] Authentication-Results: smtp6.gate.ord1c.rsapps.net; iprev=pass policy.iprev="216.34.181.88"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dkim=fail (signature verification failed) header.d=gmail.com; dmarc=fail (p=none; dis=none) header.from=gmail.com X-Classification-ID: d34e7f66-0207-11e8-9a19-bc305bf03f9c-1-1 Received: from [216.34.181.88] ([216.34.181.88:6119] helo=lists.sourceforge.net) by smtp6.gate.ord1c.rsapps.net (envelope-from ) (ecelerity 4.2.1.56364 r(Core:4.2.1.14)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id 8C/E5-29888-E033A6A5; Thu, 25 Jan 2018 14:42:06 -0500 Received: from localhost ([127.0.0.1] helo=sfs-ml-4.v29.ch3.sourceforge.com) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.89) (envelope-from ) id 1eenOj-0000hW-Dx; Thu, 25 Jan 2018 19:41:21 +0000 Received: from sfi-mx-2.v28.ch3.sourceforge.com ([172.29.28.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1eenOh-0000hQ-Lx for openvpn-devel@lists.sourceforge.net; Thu, 25 Jan 2018 19:41:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=vWV6qqy1WAylwXRzuebJz/IZOV4ngPoZyq4RJHFulu4=; b=MqC9iavD3KLNKRN61U0ur4X/ze ePc8ibqMIPS/9Mm7Em+j7zcrbVnYZ4B0pR9rOMHUXRmpWiuduqugPU0Ge/1+CJCMAkb3bALdHvh/E zxyLar6uNdcVBTEhjAITznAe3vqfA+zIuB4ofonBGDmld+w8c5Aup/XM/P1aeOpurBwY=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version: Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=vWV6qqy1WAylwXRzuebJz/IZOV4ngPoZyq4RJHFulu4=; b=TdbUU8bpAh8JoE6y4oIP7Q1v+O icYCVtQdIsLP9pvg6GJgqAXzm9P5ALYs/3xcP7DFa/9jrUaQN/zh1UJBuIN9gkCHG+y/2RmJAVElR GDQrXOZx8Q3pRvXQaNwjZFfPU/ZasonGwuQWv6sSZD6vgQu/gGu+qZYqN8Phh+BtCTZ4=; Received: from mail-it0-f65.google.com ([209.85.214.65]) by sfi-mx-2.v28.ch3.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89) id 1eenOg-0000K3-Mz for openvpn-devel@lists.sourceforge.net; Thu, 25 Jan 2018 19:41:19 +0000 Received: by mail-it0-f65.google.com with SMTP id w14so11166190itc.3 for ; Thu, 25 Jan 2018 11:41:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=vWV6qqy1WAylwXRzuebJz/IZOV4ngPoZyq4RJHFulu4=; b=hsaKzrS9xYEdcUiB2IbVpehOognUmakGF7B2JU0lM9cyMmONCR1+kRxEAXFy6PNUPw DHv2zmNNtsPoxjXSZ56aSiwLFMunEzMKEcrmKR4yKMwiowc+sZ6FlJCwWmRtlYvHCBHk GHDoF7vgv0NMWeacKS8XOP2aluxB8lJHJZYmASDeRo2PGdXAfIQHIMyR5YSCIcK8+WRB yhVyXVmZ2hUhvNx0AD1qEKAqQThzwqUTBVsUwlPPoTQC8Qp/oLk9q3mNtRwcEGXZVqoS dPtLoO4Ll+pu8mbp71j3iQe4UxywNztl1MyDPBNE3aKy0brZ2pco2t3Enqlc+HNJy44z EVPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=vWV6qqy1WAylwXRzuebJz/IZOV4ngPoZyq4RJHFulu4=; b=huFeW6aQ/i1P32k9AU+FleR+JXgvvK5r4QNKIFtOdIUv4wwWft1DloGGxQXaXnKByt ZMqMeFFn0Y9VG9OlqUzF4xWVpGaaDtT7cQK2cjcrm9MFZzShu60DYCM+e3XGWMPXvTAv dDAShHBENTJJGEE4Clxj5Wnq8qOSic6YClXR4mPe3CSPSfI/TL+ADcKisoP973kRpAKF SRhBVbjzR+wPrKxeIg5uWPvnGH28oJDDsJnJr8s/Tar+d97uyB/u8CoXQcW/C23C+lWj YMNn63DcddRCDZTWAndHmOFqLTFMEcqNa6Y9/x9JanIpkLsHU9/cztW+Au6kImi9+MnD vrqg== X-Gm-Message-State: AKwxytcpLKCf2oJvgJyCR8aZ5aepgRS1mhodBe2RLSQgGO/R+mldiXE1 YtgGATVem7b2J/oNE8vEC+Sz3kXh X-Google-Smtp-Source: AH8x226uXs5WsXWbWPccdny9PLkN0QFjhqRLlcCL9nWPmkvxuK8RKICqxkZ3C3QyRxpvNZVMWWZzvg== X-Received: by 10.36.162.8 with SMTP id j8mr15133827itf.72.1516909268072; Thu, 25 Jan 2018 11:41:08 -0800 (PST) Received: from saturn.home.sansel.ca (CPE40167ea0e1c2-CM788df74daaa0.cpe.net.cable.rogers.com. [99.228.215.92]) by smtp.gmail.com with ESMTPSA id i78sm2113784ioe.45.2018.01.25.11.41.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 25 Jan 2018 11:41:04 -0800 (PST) From: selva.nair@gmail.com To: openvpn-devel@lists.sourceforge.net Date: Thu, 25 Jan 2018 14:41:00 -0500 Message-Id: <1516909261-31623-1-git-send-email-selva.nair@gmail.com> X-Mailer: git-send-email 2.1.4 X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (selva.nair[at]gmail.com) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.214.65 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.0 AWL AWL: Adjusted score from AWL reputation of From: address X-Headers-End: 1eenOg-0000K3-Mz Subject: [Openvpn-devel] [PATCH 1/2] Add management client version X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox From: Selva Nair - "version" command from client to management can now set the version of management interface supported by the client by specifying an optional integer parameter. If no parameter is specified the version of OpenVPN and its management interface is returned (current behaviour). The client version defaults to 1 which is the current version of the Management Interface. Signed-off-by: Selva Nair Acked-By: Arne Schwabe --- doc/management-notes.txt | 6 +++++- src/openvpn/manage.c | 17 ++++++++++++++++- src/openvpn/manage.h | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/doc/management-notes.txt b/doc/management-notes.txt index 908b981..e03cd39 100644 --- a/doc/management-notes.txt +++ b/doc/management-notes.txt @@ -432,8 +432,12 @@ Command examples: COMMAND -- version ------------------ -Show the current OpenVPN and Management Interface versions. +Set the version (integer) of Management Interface supported by the +client or show the current OpenVPN and Management Interface versions. +Command examples: + version 2 -- Change management version of client to 2 (default = 1) + version -- Show the version of OpenVPN and its Management Interface COMMAND -- auth-retry --------------------- diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c index 650f9e0..c36d94d 100644 --- a/src/openvpn/manage.c +++ b/src/openvpn/manage.c @@ -123,7 +123,7 @@ man_help(void) msg(M_CLIENT, "test n : Produce n lines of output for testing/debugging."); msg(M_CLIENT, "username type u : Enter username u for a queried OpenVPN username."); msg(M_CLIENT, "verb [n] : Set log verbosity level to n, or show if n is absent."); - msg(M_CLIENT, "version : Show current version number."); + msg(M_CLIENT, "version [n] : Set client's version to n or show current version of daemon."); msg(M_CLIENT, "END"); } @@ -1241,6 +1241,15 @@ man_network_change(struct management *man, bool samenetwork) #endif static void +set_client_version(struct management *man, const char *version) +{ + if (version) + { + man->connection.client_version = atoi(version); + } +} + +static void man_dispatch_command(struct management *man, struct status_output *so, const char **p, const int nparms) { struct gc_arena gc = gc_new(); @@ -1255,6 +1264,10 @@ man_dispatch_command(struct management *man, struct status_output *so, const cha { man_help(); } + else if (streq(p[0], "version") && p[1]) + { + set_client_version(man, p[1]); + } else if (streq(p[0], "version")) { msg(M_CLIENT, "OpenVPN Version: %s", title_string); @@ -2508,6 +2521,8 @@ man_connection_init(struct management *man) man->connection.es = event_set_init(&maxevents, EVENT_METHOD_FAST); } + man->connection.client_version = 1; /* default version */ + /* * Listen/connect socket */ diff --git a/src/openvpn/manage.h b/src/openvpn/manage.h index 364488f..3bd4e50 100644 --- a/src/openvpn/manage.h +++ b/src/openvpn/manage.h @@ -318,6 +318,7 @@ struct man_connection { int fdtosend; int lastfdreceived; #endif + int client_version; }; struct management