Skip to content

Instantly share code, notes, and snippets.

@mastervolkov
Created December 13, 2013 06:58
Show Gist options
  • Save mastervolkov/7940746 to your computer and use it in GitHub Desktop.
Save mastervolkov/7940746 to your computer and use it in GitHub Desktop.
Informative network-manager-l2tp message for error in IPSec setup
diff -u ../../NMORIG/network-manager-l2tp-0.9.8.5/src/nm-l2tp-service.c src/nm-l2tp-service.c
--- ../../NMORIG/network-manager-l2tp-0.9.8.5/src/nm-l2tp-service.c 2013-10-28 05:21:20.000000000 +0400
+++ src/nm-l2tp-service.c 2013-12-13 10:52:16.469778938 +0400
@@ -853,6 +853,7 @@
char session_name[128];
GPtrArray *whack_argv;
+ g_message("ipsec prepare for shut down");
if (!(ipsec_binary=nm_find_ipsec())) return;
sprintf(session_name, "nm-ipsec-l2tpd-%d", getpid());
@@ -887,6 +888,7 @@
char cmd1[4096],cmd11[4096],cmd2[4096];
char session_name[128];
guint sys=0;
+ guint sys_tmp=0;
FILE *fp;
if (!(ipsec_binary=nm_find_ipsec())) {
@@ -901,10 +903,18 @@
sys += system("test -e /var/run/pluto/ipsec.info && . /var/run/pluto/ipsec.info;"
"PATH=/usr/local/sbin:/usr/sbin:/sbin; export PATH;"
- "[ \"x$defaultrouteaddr\" = \"x\" ] && ipsec setup restart");
+ "if [ \"x$defaultrouteaddr\" = \"x\" ] ; then ipsec setup restart; fi");
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: determine defaultrouteaddr or in \"ipsec setup restart\"");
+ }
sys += system("PATH=/usr/local/sbin:/usr/sbin:/sbin ipsec whack"
" --listen");
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: ipsec whack --listen");
+ }
sprintf(cmd1,"test -e /var/run/pluto/ipsec.info && . /var/run/pluto/ipsec.info;"
"PATH=/usr/local/sbin:/usr/sbin:/sbin ipsec addconn "
" ${defaultrouteaddr:+--defaultroute} $defaultrouteaddr"
@@ -956,12 +966,32 @@
fclose(fp);
sys += system("PATH=\"/sbin:/usr/sbin:/usr/local/sbin:$PATH\" ipsec secrets");
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: ipsec secrets");
+ }
sys += system(cmd11);
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: %s",cmd11);
+ }
sys += system(cmd1);
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: %s",cmd11);
+ }
sys += system(cmd2);
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: %s",cmd11);
+ }
rename(tmp_secrets, "/etc/ipsec.secrets");
sys += system("PATH=\"/sbin:/usr/sbin:/usr/local/sbin:$PATH\" ipsec secrets");
+ if ( sys != sys_tmp ) {
+ sys_tmp = sys;
+ g_warning("Possible error in IPSec setup: ipsec secrets");
+ }
if (sys != 0)
g_warning("Possible error in IPSec setup.");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment