clients: move vpn_get_secret_names() to nm-vpn-helpers
It should eventually move into libnm and ideally the data be obtained from VPN plugins. (No functional change, only moving the function).
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
#include <nm-vpn-service-plugin.h>
|
#include <nm-vpn-service-plugin.h>
|
||||||
|
|
||||||
#include "nm-default.h"
|
#include "nm-default.h"
|
||||||
|
#include "nm-vpn-helpers.h"
|
||||||
#include "nm-secret-agent-simple.h"
|
#include "nm-secret-agent-simple.h"
|
||||||
|
|
||||||
G_DEFINE_TYPE (NMSecretAgentSimple, nm_secret_agent_simple, NM_TYPE_SECRET_AGENT_OLD)
|
G_DEFINE_TYPE (NMSecretAgentSimple, nm_secret_agent_simple, NM_TYPE_SECRET_AGENT_OLD)
|
||||||
@@ -336,53 +337,6 @@ add_pppoe_secrets (NMSecretAgentSimpleRequest *request,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct {
|
|
||||||
const char *name;
|
|
||||||
const char *ui_name;
|
|
||||||
} typedef VpnPasswordName;
|
|
||||||
|
|
||||||
static const VpnPasswordName *
|
|
||||||
vpn_get_secret_names (const char *vpn_type)
|
|
||||||
{
|
|
||||||
const char *type;
|
|
||||||
static VpnPasswordName generic_vpn_secrets[] = { {"password", N_("Password")}, {NULL, NULL} };
|
|
||||||
static VpnPasswordName vpnc_secrets[] = { {"Xauth password", N_("Password")},
|
|
||||||
{"IPSec secret", N_("Group password")},
|
|
||||||
{NULL, NULL} };
|
|
||||||
static VpnPasswordName swan_secrets[] = { {"xauthpassword", N_("Password")},
|
|
||||||
{"pskvalue", N_("Group password")},
|
|
||||||
{NULL, NULL} };
|
|
||||||
static VpnPasswordName openconnect_secrets[] = { {"gateway", N_("Gateway")},
|
|
||||||
{"cookie", N_("Cookie")},
|
|
||||||
{"gwcert", N_("Gateway certificate hash")},
|
|
||||||
{NULL, NULL} };
|
|
||||||
|
|
||||||
if (!vpn_type)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (g_str_has_prefix (vpn_type, NM_DBUS_INTERFACE))
|
|
||||||
type = vpn_type + strlen (NM_DBUS_INTERFACE) + 1;
|
|
||||||
else
|
|
||||||
type = vpn_type;
|
|
||||||
|
|
||||||
if ( !g_strcmp0 (type, "openvpn")
|
|
||||||
|| !g_strcmp0 (type, "pptp")
|
|
||||||
|| !g_strcmp0 (type, "iodine")
|
|
||||||
|| !g_strcmp0 (type, "ssh")
|
|
||||||
|| !g_strcmp0 (type, "l2tp")
|
|
||||||
|| !g_strcmp0 (type, "fortisslvpn"))
|
|
||||||
return generic_vpn_secrets;
|
|
||||||
else if (!g_strcmp0 (type, "vpnc"))
|
|
||||||
return vpnc_secrets;
|
|
||||||
else if ( !g_strcmp0 (type, "openswan")
|
|
||||||
|| !g_strcmp0 (type, "libreswan")
|
|
||||||
|| !g_strcmp0 (type, "strongswan"))
|
|
||||||
return swan_secrets;
|
|
||||||
else if (!g_strcmp0 (type, "openconnect"))
|
|
||||||
return openconnect_secrets;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static NMSettingSecretFlags
|
static NMSettingSecretFlags
|
||||||
get_vpn_secret_flags (NMSettingVpn *s_vpn, const char *secret_name)
|
get_vpn_secret_flags (NMSettingVpn *s_vpn, const char *secret_name)
|
||||||
{
|
{
|
||||||
@@ -448,7 +402,7 @@ add_vpn_secrets (NMSecretAgentSimpleRequest *request,
|
|||||||
*msg = g_strdup (tmp);
|
*msg = g_strdup (tmp);
|
||||||
|
|
||||||
/* Now add what client thinks might be required, because hints may be empty or incomplete */
|
/* Now add what client thinks might be required, because hints may be empty or incomplete */
|
||||||
p = secret_names = vpn_get_secret_names (nm_setting_vpn_get_service_type (s_vpn));
|
p = secret_names = nm_vpn_get_secret_names (nm_setting_vpn_get_service_type (s_vpn));
|
||||||
while (p && p->name) {
|
while (p && p->name) {
|
||||||
add_vpn_secret_helper (secrets, s_vpn, p->name, _(p->ui_name));
|
add_vpn_secret_helper (secrets, s_vpn, p->name, _(p->ui_name));
|
||||||
p++;
|
p++;
|
||||||
|
@@ -94,3 +94,46 @@ nm_vpn_supports_ipv6 (NMConnection *connection)
|
|||||||
capabilities = nm_vpn_editor_plugin_get_capabilities (plugin);
|
capabilities = nm_vpn_editor_plugin_get_capabilities (plugin);
|
||||||
return NM_FLAGS_HAS (capabilities, NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6);
|
return NM_FLAGS_HAS (capabilities, NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const VpnPasswordName *
|
||||||
|
nm_vpn_get_secret_names (const char *vpn_type)
|
||||||
|
{
|
||||||
|
const char *type;
|
||||||
|
static VpnPasswordName generic_vpn_secrets[] = { {"password", N_("Password")}, {NULL, NULL} };
|
||||||
|
static VpnPasswordName vpnc_secrets[] = { {"Xauth password", N_("Password")},
|
||||||
|
{"IPSec secret", N_("Group password")},
|
||||||
|
{NULL, NULL} };
|
||||||
|
static VpnPasswordName swan_secrets[] = { {"xauthpassword", N_("Password")},
|
||||||
|
{"pskvalue", N_("Group password")},
|
||||||
|
{NULL, NULL} };
|
||||||
|
static VpnPasswordName openconnect_secrets[] = { {"gateway", N_("Gateway")},
|
||||||
|
{"cookie", N_("Cookie")},
|
||||||
|
{"gwcert", N_("Gateway certificate hash")},
|
||||||
|
{NULL, NULL} };
|
||||||
|
|
||||||
|
if (!vpn_type)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (g_str_has_prefix (vpn_type, NM_DBUS_INTERFACE))
|
||||||
|
type = vpn_type + strlen (NM_DBUS_INTERFACE) + 1;
|
||||||
|
else
|
||||||
|
type = vpn_type;
|
||||||
|
|
||||||
|
if ( !g_strcmp0 (type, "openvpn")
|
||||||
|
|| !g_strcmp0 (type, "pptp")
|
||||||
|
|| !g_strcmp0 (type, "iodine")
|
||||||
|
|| !g_strcmp0 (type, "ssh")
|
||||||
|
|| !g_strcmp0 (type, "l2tp")
|
||||||
|
|| !g_strcmp0 (type, "fortisslvpn"))
|
||||||
|
return generic_vpn_secrets;
|
||||||
|
else if (!g_strcmp0 (type, "vpnc"))
|
||||||
|
return vpnc_secrets;
|
||||||
|
else if ( !g_strcmp0 (type, "openswan")
|
||||||
|
|| !g_strcmp0 (type, "libreswan")
|
||||||
|
|| !g_strcmp0 (type, "strongswan"))
|
||||||
|
return swan_secrets;
|
||||||
|
else if (!g_strcmp0 (type, "openconnect"))
|
||||||
|
return openconnect_secrets;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -23,10 +23,17 @@
|
|||||||
|
|
||||||
#include "nm-default.h"
|
#include "nm-default.h"
|
||||||
|
|
||||||
|
struct {
|
||||||
|
const char *name;
|
||||||
|
const char *ui_name;
|
||||||
|
} typedef VpnPasswordName;
|
||||||
|
|
||||||
GSList *nm_vpn_get_plugins (void);
|
GSList *nm_vpn_get_plugins (void);
|
||||||
|
|
||||||
NMVpnEditorPlugin *nm_vpn_get_plugin_by_service (const char *service, GError **error);
|
NMVpnEditorPlugin *nm_vpn_get_plugin_by_service (const char *service, GError **error);
|
||||||
|
|
||||||
gboolean nm_vpn_supports_ipv6 (NMConnection *connection);
|
gboolean nm_vpn_supports_ipv6 (NMConnection *connection);
|
||||||
|
|
||||||
|
const VpnPasswordName * nm_vpn_get_secret_names (const char *vpn_type);
|
||||||
|
|
||||||
#endif /* __NM_VPN_HELPERS_H__ */
|
#endif /* __NM_VPN_HELPERS_H__ */
|
||||||
|
@@ -116,6 +116,8 @@ nmtui_SOURCES = \
|
|||||||
nmt-widget-list.h \
|
nmt-widget-list.h \
|
||||||
$(srcdir)/../common/nm-secret-agent-simple.c \
|
$(srcdir)/../common/nm-secret-agent-simple.c \
|
||||||
$(srcdir)/../common/nm-secret-agent-simple.h \
|
$(srcdir)/../common/nm-secret-agent-simple.h \
|
||||||
|
$(srcdir)/../common/nm-vpn-helpers.c \
|
||||||
|
$(srcdir)/../common/nm-vpn-helpers.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
nmtui_LDADD = \
|
nmtui_LDADD = \
|
||||||
|
Reference in New Issue
Block a user