From: David Sommerseth <dav...@redhat.com>

These patches enhances the mechanism in OpenVPN which queries the user
for username, passwords, PIN codes, etc.  When the management interface
is not in use, the current behaviour is to ask for this information
sequentially via the console OpenVPN is running on.

The first patch will introduce a more modular approach which also
standardizes an API for bulk operations.  This means that it is
possible to implement more advanced mechanisms asking for both
username and passwords at the same time through a single call
in the core OpenVPN code.  This patch also temporarily removes the
systemd implementation.

The second patch will re-implements systemd support using this new
API with the same functionality as before this patch set.

The third patch is a re-submission of an earlier patch, which is
needed by the fourth patch.  It is sent separately, as it provides
extra version information on a general basis and is not strictly
connected to systemd.

The fourth and last patch is a rebased patch of an earlier submission,
removing the masking of usernames.  This only happens when the proper
systemd version which supports an --echo argument is found.

All patches has been tested locally with different configurations,
requiring username, password and passphrases to PKCS#12 files.  The
challenge/response interface has not been tested, as well as PKCS#11.
All runs via valgrind shows no memory leaks with this new
implementation.

The v2 patch-set is basically rebased on top of master commit 23b6ba6378
and have just received slight modifications to comments and coding
style.  The core code itself has not been modified.  The first submission
was fairly well tested on Fedora 19 with a development version of systemd
and this patch revision has been quickly tested on RHEL 7.1 with systemd
version 208.

The previous patch revision can be found here:
http://thread.gmane.org/gmane.network.openvpn.devel/9232
Message-Id: 1416138935-12614-1-git-send-email-openvpn.l...@topphemmelig.net

David Sommerseth (4):
  Rework the user input interface to make it more modular
  Re-implement the systemd support using the new query user API
  autotools: Add support for extracting version information from
    pkg-config modules
  systemd: Do not mask usernames when querying for it via
    systemd-ask-password

 configure.ac                  |   3 +-
 m4/pkg.m4                     |   7 +-
 src/openvpn/Makefile.am       |  15 ++-
 src/openvpn/console.c         | 225 ++++++--------------------------------
 src/openvpn/console.h         |  94 +++++++++++++++-
 src/openvpn/console_builtin.c | 246 ++++++++++++++++++++++++++++++++++++++++++
 src/openvpn/console_systemd.c | 118 ++++++++++++++++++++
 src/openvpn/misc.c            |  81 +++++++++++---
 src/openvpn/pkcs11.c          |  16 ++-
 9 files changed, 588 insertions(+), 217 deletions(-)
 create mode 100644 src/openvpn/console_builtin.c
 create mode 100644 src/openvpn/console_systemd.c

-- 
1.8.3.1


Reply via email to