Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
NetworkManager-l2tp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
CeRiAl
NetworkManager-l2tp
Commits
59b2db32
Commit
59b2db32
authored
Apr 13, 2015
by
CeRiAl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Service: Ensure cleanup of our configfiles in case of an error
parent
65fd7928
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
18 deletions
+31
-18
nm-l2tp-service.c
src/nm-l2tp-service.c
+31
-18
No files found.
src/nm-l2tp-service.c
View file @
59b2db32
...
@@ -132,8 +132,14 @@ enum {
...
@@ -132,8 +132,14 @@ enum {
};
};
static
guint
signals
[
LAST_SIGNAL
]
=
{
0
};
static
guint
signals
[
LAST_SIGNAL
]
=
{
0
};
static
void
nm_l2tp_cleanup
(
void
);
static
gboolean
static
gboolean
nm_l2tp_ipsec_error
(
GError
**
error
,
const
char
*
msg
)
{
nm_l2tp_ipsec_error
(
GError
**
error
,
const
char
*
msg
)
{
/* First, clean up config files */
nm_l2tp_cleanup
();
g_set_error_literal
(
error
,
g_set_error_literal
(
error
,
NM_VPN_PLUGIN_ERROR
,
NM_VPN_PLUGIN_ERROR
,
NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED
,
NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED
,
...
@@ -604,14 +610,35 @@ nm_l2tp_secrets_validate (NMSettingVPN *s_vpn, GError **error)
...
@@ -604,14 +610,35 @@ nm_l2tp_secrets_validate (NMSettingVPN *s_vpn, GError **error)
static
void
static
void
nm_l2tp_stop_ipsec
(
void
);
nm_l2tp_stop_ipsec
(
void
);
static
void
nm_l2tp_cleanup
(
void
)
{
pid_t
my_pid
=
getpid
();
char
*
filename
;
filename
=
g_strdup_printf
(
"/var/run/nm-xl2tpd.conf.%d"
,
my_pid
);
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ppp-options.xl2tpd.%d"
,
my_pid
);
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ipsec-l2tp.%d/ipsec.conf"
,
my_pid
);
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ipsec-l2tp.%d"
,
my_pid
);
rmdir
(
filename
);
g_free
(
filename
);
}
static
void
static
void
l2tpd_watch_cb
(
GPid
pid
,
gint
status
,
gpointer
user_data
)
l2tpd_watch_cb
(
GPid
pid
,
gint
status
,
gpointer
user_data
)
{
{
NML2tpPlugin
*
plugin
=
NM_L2TP_PLUGIN
(
user_data
);
NML2tpPlugin
*
plugin
=
NM_L2TP_PLUGIN
(
user_data
);
NML2tpPluginPrivate
*
priv
=
NM_L2TP_PLUGIN_GET_PRIVATE
(
plugin
);
NML2tpPluginPrivate
*
priv
=
NM_L2TP_PLUGIN_GET_PRIVATE
(
plugin
);
guint
error
=
0
;
guint
error
=
0
;
pid_t
my_pid
=
getpid
();
char
*
filename
;
if
(
WIFEXITED
(
status
))
{
if
(
WIFEXITED
(
status
))
{
error
=
WEXITSTATUS
(
status
);
error
=
WEXITSTATUS
(
status
);
...
@@ -634,22 +661,8 @@ l2tpd_watch_cb (GPid pid, gint status, gpointer user_data)
...
@@ -634,22 +661,8 @@ l2tpd_watch_cb (GPid pid, gint status, gpointer user_data)
priv
->
ipsec_up
=
FALSE
;
priv
->
ipsec_up
=
FALSE
;
}
}
/* Cleaning up config files */
/* Clean up config files */
filename
=
g_strdup_printf
(
"/var/run/nm-xl2tpd.conf.%d"
,
my_pid
);
nm_l2tp_cleanup
();
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ppp-options.xl2tpd.%d"
,
my_pid
);
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ipsec-l2tp.%d/ipsec.conf"
,
my_pid
);
unlink
(
filename
);
g_free
(
filename
);
filename
=
g_strdup_printf
(
"/var/run/nm-ipsec-l2tp.%d"
,
my_pid
);
rmdir
(
filename
);
g_free
(
filename
);
/* Must be after data->state is set since signals use data->state */
/* Must be after data->state is set since signals use data->state */
switch
(
error
)
{
switch
(
error
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment