mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-05 07:38:20 +02:00
2008-09-25 Dan Williams <dcbw@redhat.com>
* src/nm-pptp-service.c - (nm_pptp_ppp_service_cache_credentials, impl_pptp_service_need_secrets): when a domain is specified, synthesize the username passed to pppd as username@domain git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4107 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
dbd1e23f13
commit
0b012b8679
2 changed files with 19 additions and 2 deletions
|
|
@ -1,3 +1,10 @@
|
|||
2008-09-25 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/nm-pptp-service.c
|
||||
- (nm_pptp_ppp_service_cache_credentials, impl_pptp_service_need_secrets):
|
||||
when a domain is specified, synthesize the username passed to pppd
|
||||
as username@domain
|
||||
|
||||
2008-08-28 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/nm-pptp-service.c
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ static gboolean impl_pptp_service_set_ip4_config (NMPptpPppService *self,
|
|||
|
||||
typedef struct {
|
||||
char username[100];
|
||||
char domain[100];
|
||||
char password[100];
|
||||
} NMPptpPppServicePrivate;
|
||||
|
||||
|
|
@ -175,6 +176,7 @@ finalize (GObject *object)
|
|||
|
||||
/* Get rid of the cached username and password */
|
||||
memset (priv->username, 0, sizeof (priv->username));
|
||||
memset (priv->domain, 0, sizeof (priv->domain));
|
||||
memset (priv->password, 0, sizeof (priv->password));
|
||||
}
|
||||
|
||||
|
|
@ -227,12 +229,13 @@ nm_pptp_ppp_service_cache_credentials (NMPptpPppService *self,
|
|||
{
|
||||
NMPptpPppServicePrivate *priv = NM_PPTP_PPP_SERVICE_GET_PRIVATE (self);
|
||||
NMSettingVPN *s_vpn;
|
||||
const char *username, *password;
|
||||
const char *username, *password, *domain;
|
||||
|
||||
g_return_val_if_fail (self != NULL, FALSE);
|
||||
g_return_val_if_fail (connection != NULL, FALSE);
|
||||
|
||||
memset (priv->username, 0, sizeof (priv->username));
|
||||
memset (priv->domain, 0, sizeof (priv->domain));
|
||||
memset (priv->password, 0, sizeof (priv->password));
|
||||
|
||||
s_vpn = (NMSettingVPN *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN);
|
||||
|
|
@ -278,6 +281,10 @@ nm_pptp_ppp_service_cache_credentials (NMPptpPppService *self,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
domain = g_hash_table_lookup (s_vpn->data, NM_PPTP_KEY_DOMAIN);
|
||||
if (strlen (domain))
|
||||
memcpy (priv->domain, domain, strlen (domain));
|
||||
|
||||
memcpy (priv->username, username, strlen (username));
|
||||
memcpy (priv->password, password, strlen (password));
|
||||
return TRUE;
|
||||
|
|
@ -303,7 +310,10 @@ impl_pptp_service_need_secrets (NMPptpPppService *self,
|
|||
}
|
||||
|
||||
/* Success */
|
||||
*out_username = g_strdup (priv->username);
|
||||
if (strlen (priv->domain))
|
||||
*out_username = g_strdup_printf ("%s@%s", priv->username, priv->domain);
|
||||
else
|
||||
*out_username = g_strdup (priv->username);
|
||||
*out_password = g_strdup (priv->password);
|
||||
return TRUE;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue