New upstream release 0.9.8.4
- Fixed 926225 - Fixed dependency to libreswan. - Created a new sub package NetworkManager-openswan-gnome - Various other spec file fixes. - Additional code changes are as follows: - Fixed an issue where proper network stack is not loaded unless _stackmanager is run before starting pluto daemon service. - Fixed the termination operation of pluto daemon to comply with libreswan changes. - Fixed various debug messages. - Fixed initiation of pluto daemon by this plugin to reflect the changes in libreaswan. - Fixed defaults values for more parameters to help the VPN connection stay more reliable. - Rewrote pluto watch API which watches the pluto process for its status. Fixed memory leak issues as not all child processes were reaped correctly. Also g_spwan_close_pid was not being called after children were reaped. Also modified debugs and added more to help with debugging in the future. - Fixed an issue where nm-openswan service is searching for ipsec binary in both /sbin and /usr/sbin leading to same operation twice, as /sbin is just symlink to /usr/sbin, so removed /sbin from the search paths. - Fixed some libreswan related macro changes. - Fixed netmask issue when sending IP information to the nm openswan plugin service. - Fixed the current code as it does not set the default route field NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT when sending VPN information to nm-openswan plugin. This fix sets the field to TRUE. - Fixed some issues found by coverity scan. - Fixed an issue where writing configuration on stdin should not end with \n as it gives error. It used to work previously, but not with latest NetworkManager versions. - libreswan related fixes, as some macros have been modified after forking to libreswan from openswan. - openswan/libreswan does not provide tun0 interface, so fixed the code where it sends tun0 interface. - Fix prcoessing of nm-openswan-dialog.ui file and added more error notifications. - Fixed dead code based on coverity scan. - Fixed gnomekeyring lib dependencies. - Fixed Networkmanager and related lib dependencies. - Fixed gtk label max width issue by setting it to 35. - NM-openswan was missing support for nm-openswan-auth-dialog.desktop.in.in. So added a new nm-openswan-auth-dialog.desktop.in.in, and modified related Makefile and configure.ac files.
This commit is contained in:
parent
4e17cba0a5
commit
08f137fc11
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,5 @@
|
||||
NetworkManager-openswan-0.8.tar.gz
|
||||
/NetworkManager-openswan-0.9.8.0.sha256sum
|
||||
/NetworkManager-openswan-0.9.8.0.tar.xz
|
||||
/NetworkManager-openswan-0.9.8.4.sha256sum
|
||||
/NetworkManager-openswan-0.9.8.4.tar.xz
|
||||
|
@ -0,0 +1,67 @@
|
||||
From ce807219123614d8496b29b591b8147dc190db54 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:38:23 -0500
|
||||
Subject: [PATCH 01/20] NM-openswan was missing support for
|
||||
nm-openswan-auth-dialog.desktop.in.in. So added a new
|
||||
nm-openswan-auth-dialog.desktop.in.in, and modified related Makefile and
|
||||
configure.ac files.
|
||||
|
||||
---
|
||||
auth-dialog/Makefile.am | 15 ++++++++++++++-
|
||||
auth-dialog/nm-openswan-auth-dialog.desktop.in.in | 7 +++++++
|
||||
configure.ac | 1 +
|
||||
3 files changed, 22 insertions(+), 1 deletion(-)
|
||||
create mode 100644 auth-dialog/nm-openswan-auth-dialog.desktop.in.in
|
||||
|
||||
diff --git a/auth-dialog/Makefile.am b/auth-dialog/Makefile.am
|
||||
index 4b5a01d..d1e8711 100644
|
||||
--- a/auth-dialog/Makefile.am
|
||||
+++ b/auth-dialog/Makefile.am
|
||||
@@ -22,5 +22,18 @@ nm_openswan_auth_dialog_LDADD = \
|
||||
$(GTK_LIBS) \
|
||||
$(GNOMEKEYRING_LIBS)
|
||||
|
||||
-CLEANFILES = *~
|
||||
+@INTLTOOL_DESKTOP_RULE@
|
||||
+desktopdir = $(datadir)/applications
|
||||
+desktop_in_in_files = nm-openswan-auth-dialog.desktop.in.in
|
||||
+desktop_in_files = nm-openswan-auth-dialog.desktop.in
|
||||
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
|
||||
|
||||
+EXTRA_DIST = \
|
||||
+ $(desktop_in_in_files)
|
||||
+
|
||||
+CLEANFILES = \
|
||||
+ *~ \
|
||||
+ $(desktop_DATA)
|
||||
+
|
||||
+DISTCLEANFILES = \
|
||||
+ $(desktop_in_files)
|
||||
diff --git a/auth-dialog/nm-openswan-auth-dialog.desktop.in.in b/auth-dialog/nm-openswan-auth-dialog.desktop.in.in
|
||||
new file mode 100644
|
||||
index 0000000..9c91b6b
|
||||
--- /dev/null
|
||||
+++ b/auth-dialog/nm-openswan-auth-dialog.desktop.in.in
|
||||
@@ -0,0 +1,7 @@
|
||||
+[Desktop Entry]
|
||||
+_Name=Network
|
||||
+_Comment=Request VPN authentication
|
||||
+Exec=@LIBEXECDIR@/nm-openswan-auth-dialog
|
||||
+Terminal=false
|
||||
+Type=Application
|
||||
+NoDisplay=true
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b214ef7..10af655 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -114,6 +114,7 @@ AC_CONFIG_FILES([
|
||||
Makefile
|
||||
src/Makefile
|
||||
auth-dialog/Makefile
|
||||
+auth-dialog/nm-openswan-auth-dialog.desktop.in
|
||||
properties/Makefile
|
||||
po/Makefile.in
|
||||
])
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,33 @@
|
||||
From fc10d570b9291e687e4b1dfbfcf8c5c8f5f38f02 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:39:57 -0500
|
||||
Subject: [PATCH 02/20] Fixed gtk label max width issue by setting it to 35.
|
||||
|
||||
---
|
||||
auth-dialog/vpn-password-dialog.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/auth-dialog/vpn-password-dialog.c b/auth-dialog/vpn-password-dialog.c
|
||||
index 9fa2509..685e17e 100644
|
||||
--- a/auth-dialog/vpn-password-dialog.c
|
||||
+++ b/auth-dialog/vpn-password-dialog.c
|
||||
@@ -29,6 +29,8 @@
|
||||
#include <glib/gi18n.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
+#include "src/nm-openswan-service.h"
|
||||
+
|
||||
G_DEFINE_TYPE (VpnPasswordDialog, vpn_password_dialog, GTK_TYPE_DIALOG)
|
||||
|
||||
#define VPN_PASSWORD_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
|
||||
@@ -278,6 +280,7 @@ vpn_password_dialog_new (const char *title,
|
||||
message_label = GTK_LABEL (gtk_label_new (message));
|
||||
gtk_label_set_justify (message_label, GTK_JUSTIFY_LEFT);
|
||||
gtk_label_set_line_wrap (message_label, TRUE);
|
||||
+ gtk_label_set_max_width_chars (message_label, 35);
|
||||
gtk_size_group_add_widget (priv->group, GTK_WIDGET (message_label));
|
||||
gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), FALSE, FALSE, 0);
|
||||
gtk_size_group_add_widget (priv->group, priv->table_alignment);
|
||||
--
|
||||
1.8.3.1
|
||||
|
31
0003-Fixed-Networkmanager-and-related-lib-dependencies.patch
Normal file
31
0003-Fixed-Networkmanager-and-related-lib-dependencies.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From d39ea5f4a0d3048c5109550833ce8af743540a0e Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:41:36 -0500
|
||||
Subject: [PATCH 03/20] Fixed Networkmanager and related lib dependencies.
|
||||
|
||||
---
|
||||
configure.ac | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 10af655..27e2242 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -66,10 +66,10 @@ AC_SUBST(DBUS_CFLAGS)
|
||||
AC_SUBST(DBUS_LIBS)
|
||||
|
||||
PKG_CHECK_MODULES(NM,
|
||||
- NetworkManager >= 0.9.6
|
||||
- libnm-util >= 0.9.6
|
||||
- libnm-glib >= 0.9.6
|
||||
- libnm-glib-vpn >= 0.9.6)
|
||||
+ NetworkManager >= 0.9.8
|
||||
+ libnm-util >= 0.9.8
|
||||
+ libnm-glib >= 0.9.8
|
||||
+ libnm-glib-vpn >= 0.9.8)
|
||||
AC_SUBST(NM_CFLAGS)
|
||||
AC_SUBST(NM_LIBS)
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
34
0004-Fixed-gnomekeyring-lib-dependencies.patch
Normal file
34
0004-Fixed-gnomekeyring-lib-dependencies.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 41fd9ad25736659b3a465630bca7da294b1204e5 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:42:50 -0500
|
||||
Subject: [PATCH 04/20] Fixed gnomekeyring lib dependencies.
|
||||
|
||||
---
|
||||
properties/Makefile.am | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/properties/Makefile.am b/properties/Makefile.am
|
||||
index f599e21..abbf208 100644
|
||||
--- a/properties/Makefile.am
|
||||
+++ b/properties/Makefile.am
|
||||
@@ -12,6 +12,7 @@ ui_DATA = nm-openswan-dialog.ui
|
||||
|
||||
libnm_openswan_properties_la_CPPFLAGS = \
|
||||
$(GTK_CFLAGS) \
|
||||
+ $(GNOMEKEYRING_CFLAGS) \
|
||||
$(NM_CFLAGS) \
|
||||
-DICONDIR=\""$(datadir)/pixmaps"\" \
|
||||
-DUIDIR=\""$(uidir)"\" \
|
||||
@@ -22,7 +23,8 @@ libnm_openswan_properties_la_CPPFLAGS = \
|
||||
|
||||
libnm_openswan_properties_la_LIBADD = \
|
||||
$(GTK_LIBS) \
|
||||
- $(NM_LIBS)
|
||||
+ $(NM_LIBS) \
|
||||
+ $(GNOMEKEYRING_LIBS)
|
||||
|
||||
libnm_openswan_properties_la_LDFLAGS = \
|
||||
-avoid-version
|
||||
--
|
||||
1.8.3.1
|
||||
|
145
0005-Fixed-dead-code-based-on-coverity-scan.patch
Normal file
145
0005-Fixed-dead-code-based-on-coverity-scan.patch
Normal file
@ -0,0 +1,145 @@
|
||||
From ff5dfb0a75d4312ddc923dff637ad180266ff923 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:44:24 -0500
|
||||
Subject: [PATCH 05/20] Fixed dead code based on coverity scan.
|
||||
|
||||
---
|
||||
properties/nm-openswan.c | 94 ++++++++++++++++--------------------------------
|
||||
1 file changed, 31 insertions(+), 63 deletions(-)
|
||||
|
||||
diff --git a/properties/nm-openswan.c b/properties/nm-openswan.c
|
||||
index 75acedd..c13de36 100644
|
||||
--- a/properties/nm-openswan.c
|
||||
+++ b/properties/nm-openswan.c
|
||||
@@ -158,6 +158,36 @@ stuff_changed_cb (GtkWidget *widget, gpointer user_data)
|
||||
}
|
||||
|
||||
static void
|
||||
+setup_password_widget (OpenswanPluginUiWidget *self,
|
||||
+ const char *entry_name,
|
||||
+ NMSettingVPN *s_vpn,
|
||||
+ const char *secret_name,
|
||||
+ gboolean new_connection)
|
||||
+{
|
||||
+ OpenswanPluginUiWidgetPrivate *priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
||||
+ NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
|
||||
+ GtkWidget *widget;
|
||||
+ const char *value;
|
||||
+
|
||||
+ if (new_connection)
|
||||
+ secret_flags = NM_SETTING_SECRET_FLAG_AGENT_OWNED;
|
||||
+
|
||||
+ widget = (GtkWidget *) gtk_builder_get_object (priv->builder, entry_name);
|
||||
+ g_assert (widget);
|
||||
+ gtk_size_group_add_widget (priv->group, widget);
|
||||
+
|
||||
+ if (s_vpn) {
|
||||
+ value = nm_setting_vpn_get_secret (s_vpn, secret_name);
|
||||
+ gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
|
||||
+ nm_setting_get_secret_flags (NM_SETTING (s_vpn), secret_name, &secret_flags, NULL);
|
||||
+ }
|
||||
+ secret_flags &= ~(NM_SETTING_SECRET_FLAG_NOT_SAVED | NM_SETTING_SECRET_FLAG_NOT_REQUIRED);
|
||||
+ g_object_set_data (G_OBJECT (widget), "flags", GUINT_TO_POINTER (secret_flags));
|
||||
+
|
||||
+ g_signal_connect (widget, "changed", G_CALLBACK (stuff_changed_cb), self);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
show_toggled_cb (GtkCheckButton *button, OpenswanPluginUiWidget *self)
|
||||
{
|
||||
OpenswanPluginUiWidgetPrivate *priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
||||
@@ -301,35 +331,6 @@ init_one_pw_combo (OpenswanPluginUiWidget *self,
|
||||
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (pw_type_combo_changed_cb), self);
|
||||
}
|
||||
|
||||
-static void
|
||||
-setup_password_widget (OpenswanPluginUiWidget *self,
|
||||
- const char *entry_name,
|
||||
- NMSettingVPN *s_vpn,
|
||||
- const char *secret_name,
|
||||
- gboolean new_connection)
|
||||
-{
|
||||
- OpenswanPluginUiWidgetPrivate *priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
||||
- NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
|
||||
- GtkWidget *widget;
|
||||
- const char *value;
|
||||
-
|
||||
- if (new_connection)
|
||||
- secret_flags = NM_SETTING_SECRET_FLAG_AGENT_OWNED;
|
||||
-
|
||||
- widget = (GtkWidget *) gtk_builder_get_object (priv->builder, entry_name);
|
||||
- g_assert (widget);
|
||||
- gtk_size_group_add_widget (priv->group, widget);
|
||||
-
|
||||
- if (s_vpn) {
|
||||
- value = nm_setting_vpn_get_secret (s_vpn, secret_name);
|
||||
- gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
|
||||
- nm_setting_get_secret_flags (NM_SETTING (s_vpn), secret_name, &secret_flags, NULL);
|
||||
- }
|
||||
- secret_flags &= ~(NM_SETTING_SECRET_FLAG_NOT_SAVED | NM_SETTING_SECRET_FLAG_NOT_REQUIRED);
|
||||
- g_object_set_data (G_OBJECT (widget), "flags", GUINT_TO_POINTER (secret_flags));
|
||||
-
|
||||
- g_signal_connect (widget, "changed", G_CALLBACK (stuff_changed_cb), self);
|
||||
-}
|
||||
|
||||
static gboolean
|
||||
init_plugin_ui (OpenswanPluginUiWidget *self,
|
||||
@@ -338,7 +339,7 @@ init_plugin_ui (OpenswanPluginUiWidget *self,
|
||||
GError **error)
|
||||
{
|
||||
OpenswanPluginUiWidgetPrivate *priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (self);
|
||||
- NMSettingVPN *s_vpn;
|
||||
+ NMSettingVPN *s_vpn = NULL;
|
||||
GtkWidget *widget;
|
||||
const char *value = NULL;
|
||||
|
||||
@@ -435,24 +436,6 @@ init_plugin_ui (OpenswanPluginUiWidget *self,
|
||||
}
|
||||
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
|
||||
|
||||
- /*widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "disable_dpd_checkbutton"));
|
||||
- g_return_val_if_fail (widget != NULL, FALSE);
|
||||
- if (s_vpn) {
|
||||
- value = nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_DPDTIMEOUT);
|
||||
- if (value) {
|
||||
- long int tmp;
|
||||
-
|
||||
- errno = 0;
|
||||
- tmp = strtol (value, NULL, 10);
|
||||
- if (tmp >= 0 && tmp <= G_MAXUINT32 && errno == 0)
|
||||
- priv->orig_dpd_timeout = (guint32) tmp;
|
||||
-
|
||||
- if (priv->orig_dpd_timeout == 0)
|
||||
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
|
||||
- }
|
||||
- }
|
||||
- g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (stuff_changed_cb), self);*/
|
||||
-
|
||||
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "show_passwords_checkbutton"));
|
||||
g_return_val_if_fail (widget != NULL, FALSE);
|
||||
g_signal_connect (G_OBJECT (widget), "toggled",
|
||||
@@ -563,21 +546,6 @@ update_connection (NMVpnPluginUiWidgetInterface *iface,
|
||||
if (str && strlen (str))
|
||||
nm_setting_vpn_add_data_item (s_vpn, NM_OPENSWAN_DOMAIN, str);
|
||||
|
||||
- //widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "disable_dpd_checkbutton"));
|
||||
- //if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
|
||||
- // nm_setting_vpn_add_data_item (s_vpn, NM_OPENSWAN_DPDTIMEOUT, "0");
|
||||
- //} else {
|
||||
- /* If DPD was disabled and now the user wishes to enable it, just
|
||||
- * don't pass the DPD_IDLE_TIMEOUT option to openswan and thus use the
|
||||
- * default DPD idle time. Otherwise keep the original DPD idle timeout.
|
||||
- */
|
||||
- // if (priv->orig_dpd_timeout >= 10) {
|
||||
- // char *tmp = g_strdup_printf ("%d", priv->orig_dpd_timeout);
|
||||
- // nm_setting_vpn_add_data_item (s_vpn, NM_OPENSWAN_DPDTIMEOUT, tmp);
|
||||
- // g_free (tmp);
|
||||
- // }
|
||||
- //}
|
||||
-
|
||||
save_one_password (s_vpn,
|
||||
priv->builder,
|
||||
"user_password_entry",
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,59 @@
|
||||
From bc55d220fe7fe7b377aa21d1e2c153d54716e4ec Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:50:05 -0500
|
||||
Subject: [PATCH 06/20] Fix prcoessing of nm-openswan-dialog.ui file and added
|
||||
more error notifications.
|
||||
|
||||
---
|
||||
properties/nm-openswan.c | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/properties/nm-openswan.c b/properties/nm-openswan.c
|
||||
index c13de36..e164e85 100644
|
||||
--- a/properties/nm-openswan.c
|
||||
+++ b/properties/nm-openswan.c
|
||||
@@ -462,7 +462,7 @@ save_one_password (NMSettingVPN *s_vpn,
|
||||
const char *secret_key,
|
||||
const char *type_key)
|
||||
{
|
||||
- NMSettingSecretFlags flags;
|
||||
+ NMSettingSecretFlags flags = NM_SETTING_SECRET_FLAG_NONE;
|
||||
const char *data_val = NULL, *password;
|
||||
GtkWidget *entry, *combo;
|
||||
|
||||
@@ -577,6 +577,7 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
|
||||
{
|
||||
NMVpnPluginUiWidgetInterface *object;
|
||||
OpenswanPluginUiWidgetPrivate *priv;
|
||||
+ char *ui_file;
|
||||
NMSettingVPN *s_vpn;
|
||||
gboolean is_new = TRUE;
|
||||
|
||||
@@ -591,15 +592,23 @@ nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
|
||||
|
||||
priv = OPENSWAN_PLUGIN_UI_WIDGET_GET_PRIVATE (object);
|
||||
|
||||
+ ui_file = g_strdup_printf ("%s/%s", UIDIR, "nm-openswan-dialog.ui");
|
||||
priv->builder = gtk_builder_new ();
|
||||
g_assert (priv->builder);
|
||||
|
||||
gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE);
|
||||
|
||||
- if (gtk_builder_add_from_file (priv->builder, UIDIR "/nm-openswan-dialog.ui", error) == 0) {
|
||||
+ if (!gtk_builder_add_from_file (priv->builder, ui_file, error)) {
|
||||
+ g_warning ("Couldn't load builder file: %s",
|
||||
+ error && *error ? (*error)->message : "(unknown)");
|
||||
+ g_clear_error (error);
|
||||
+ g_set_error (error, OPENSWAN_PLUGIN_UI_ERROR, 0,
|
||||
+ "could not load required resources at %s", ui_file);
|
||||
+ g_free (ui_file);
|
||||
g_object_unref (object);
|
||||
return NULL;
|
||||
}
|
||||
+ g_free (ui_file);
|
||||
|
||||
priv->widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "openswan-vbox"));
|
||||
if (!priv->widget) {
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,98 @@
|
||||
From db46fa8f456b7b21ad259ffab4a5b4e51e8c5809 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 13:58:50 -0500
|
||||
Subject: [PATCH 07/20] openswan/libreswan does not provide tun0 interface, so
|
||||
fixed the code where it sends tun0 interface.
|
||||
|
||||
---
|
||||
src/nm-openswan-service-helper.c | 26 ++++++++++++++++++++------
|
||||
src/nm-openswan-service.h | 4 ++++
|
||||
2 files changed, 24 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index d0b4e19..35cd9d9 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -202,12 +202,13 @@ int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
DBusGConnection *connection;
|
||||
- char *tmp;
|
||||
+ char *tmp=NULL;
|
||||
GHashTable *config;
|
||||
GValue *val;
|
||||
GError *err = NULL;
|
||||
- //struct in_addr temp_addr;
|
||||
+ struct in_addr temp_addr;
|
||||
//long int mtu = 1412;
|
||||
+ char nmask[16]="255.255.255.255";
|
||||
|
||||
#if !GLIB_CHECK_VERSION (2, 35, 0)
|
||||
g_type_init ();
|
||||
@@ -237,13 +238,25 @@ main (int argc, char *argv[])
|
||||
else
|
||||
helper_failed (connection, "Openswan Pluto Right Peer (VPN Gateway)");
|
||||
|
||||
+
|
||||
+ /*
|
||||
+ * Tunnel device
|
||||
+ * Indicate that openswan plugin doesn't use tun/tap device
|
||||
+ */
|
||||
+ val = g_slice_new0 (GValue);
|
||||
+ g_value_init (val, G_TYPE_STRING);
|
||||
+ g_value_set_string (val, NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV_NONE);
|
||||
+ g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, val);
|
||||
+
|
||||
+#if 0
|
||||
/* Tunnel device */
|
||||
//val = str_to_gvalue (getenv ("TUNDEV"), FALSE);
|
||||
- val = str_to_gvalue ("tun0", FALSE);
|
||||
+ //val = str_to_gvalue ("tun0", FALSE);
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, val);
|
||||
else
|
||||
helper_failed (connection, "Tunnel Device");
|
||||
+#endif
|
||||
|
||||
/* IP address */
|
||||
val = addr_to_gvalue (getenv ("PLUTO_MY_SOURCEIP"));
|
||||
@@ -258,9 +271,10 @@ main (int argc, char *argv[])
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_PTP, val);
|
||||
else
|
||||
helper_failed (connection, "IP4 PTP Address");
|
||||
-#if 0
|
||||
+//#if 0
|
||||
/* Netmask */
|
||||
- tmp = getenv ("INTERNAL_IP4_NETMASK");
|
||||
+ //tmp = getenv ("INTERNAL_IP4_NETMASK");
|
||||
+ tmp = nmask;
|
||||
if (tmp && inet_pton (AF_INET, tmp, &temp_addr) > 0) {
|
||||
GValue *value;
|
||||
|
||||
@@ -270,7 +284,7 @@ main (int argc, char *argv[])
|
||||
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, value);
|
||||
}
|
||||
-#endif
|
||||
+//#endif
|
||||
|
||||
/* DNS */
|
||||
val = addr_list_to_gvalue (getenv ("PLUTO_CISCO_DNS_INFO"));
|
||||
diff --git a/src/nm-openswan-service.h b/src/nm-openswan-service.h
|
||||
index cd79b43..0b6022d 100644
|
||||
--- a/src/nm-openswan-service.h
|
||||
+++ b/src/nm-openswan-service.h
|
||||
@@ -54,6 +54,10 @@
|
||||
#define NM_OPENSWAN_PW_TYPE_ASK "ask"
|
||||
#define NM_OPENSWAN_PW_TYPE_UNUSED "unused"
|
||||
|
||||
+#ifndef NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV_NONE
|
||||
+#define NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV_NONE "_none_"
|
||||
+#endif
|
||||
+
|
||||
typedef struct {
|
||||
NMVPNPlugin parent;
|
||||
} NMOPENSWANPlugin;
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,52 @@
|
||||
From 571c3af579c5753b82aab522486b6af45b27d7d8 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:01:00 -0500
|
||||
Subject: [PATCH 08/20] libreswan related fixes, as some macros have been
|
||||
modified after forking to libreswan from openswan.
|
||||
|
||||
---
|
||||
src/nm-openswan-service-helper.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index 35cd9d9..07bc576 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -210,6 +210,7 @@ main (int argc, char *argv[])
|
||||
//long int mtu = 1412;
|
||||
char nmask[16]="255.255.255.255";
|
||||
|
||||
+
|
||||
#if !GLIB_CHECK_VERSION (2, 35, 0)
|
||||
g_type_init ();
|
||||
#endif
|
||||
@@ -217,7 +218,7 @@ main (int argc, char *argv[])
|
||||
/* openswan gives us a "reason" code. If we are given one,
|
||||
* don't proceed unless its "connect".
|
||||
*/
|
||||
- tmp = getenv ("openswan_reason");
|
||||
+ tmp = getenv ("libreswan_reason");
|
||||
if (tmp && strcmp (tmp, "connect") != 0)
|
||||
exit (0);
|
||||
|
||||
@@ -287,7 +288,7 @@ main (int argc, char *argv[])
|
||||
//#endif
|
||||
|
||||
/* DNS */
|
||||
- val = addr_list_to_gvalue (getenv ("PLUTO_CISCO_DNS_INFO"));
|
||||
+ val = addr_list_to_gvalue (getenv ("PLUTO_PEER_DNS_INFO"));
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_DNS, val);
|
||||
|
||||
@@ -299,7 +300,7 @@ main (int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
/* Default domain */
|
||||
- val = str_to_gvalue (getenv ("PLUTO_CISCO_DOMAIN_INFO"), TRUE);
|
||||
+ val = str_to_gvalue (getenv ("PLUTO_PEER_DOMAIN_INFO"), TRUE);
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN, val);
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 85774a1cd6f94e1d23ad0403bc912d4671503434 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:05:06 -0500
|
||||
Subject: [PATCH 09/20] Fixed an issue where writing configuration on stdin
|
||||
should not end with \n as it gives error. It used to work previously, but not
|
||||
with latest NetworkManager versions.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index ec0553c..f9bea3d 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -577,7 +577,8 @@ nm_openswan_config_write (gint openswan_fd, NMSettingVPN *s_vpn,
|
||||
|
||||
write_config_option (fdtmp1, " nm_configured=yes\n");
|
||||
//write_config_option (fdtmp1, " leftupdown=%s\n", NM_OSW_UPDOWN_PATH);
|
||||
- write_config_option (fdtmp1, " auto=add\n");
|
||||
+ //write_config_option (fdtmp1, " auto=add\n");
|
||||
+ write_config_option (fdtmp1, " auto=add");
|
||||
//write_config_option (fdtmp1, " #connectionname=%s\n", nm_setting_vpn_get_data_item (s_vpn, NM_SETTING_VPN_SETTING_NAME));
|
||||
//write_config_option (fdtmp1, " #connectionname=%s\n", nm_setting_vpn_get_data_item (s_vpn, NM_SETTING_NAME));
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
175
0010-Fixed-more-coverity-scan-issues.patch
Normal file
175
0010-Fixed-more-coverity-scan-issues.patch
Normal file
@ -0,0 +1,175 @@
|
||||
From 0cae80518c6329f1575bf46b615123a5e034515a Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:33:38 -0500
|
||||
Subject: [PATCH 10/20] Fixed more coverity scan issues.
|
||||
|
||||
---
|
||||
src/Makefile.am | 3 ---
|
||||
src/nm-openswan-service-helper.c | 21 -------------------
|
||||
src/nm-openswan-service.c | 44 ----------------------------------------
|
||||
3 files changed, 68 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 12ce851..4f3e316 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -21,17 +21,14 @@ nm_openswan_service_SOURCES = \
|
||||
nm-openswan-service.c \
|
||||
nm-openswan-service.h
|
||||
|
||||
-
|
||||
nm_openswan_service_LDADD = \
|
||||
$(DBUS_LIBS) \
|
||||
$(GTHREAD_LIBS) \
|
||||
$(NM_LIBS)
|
||||
|
||||
-
|
||||
nm_openswan_service_helper_SOURCES = \
|
||||
nm-openswan-service-helper.c
|
||||
|
||||
-
|
||||
nm_openswan_service_helper_LDADD = \
|
||||
$(DBUS_LIBS) \
|
||||
$(GTHREAD_LIBS) \
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index 07bc576..e148b26 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -207,7 +207,6 @@ main (int argc, char *argv[])
|
||||
GValue *val;
|
||||
GError *err = NULL;
|
||||
struct in_addr temp_addr;
|
||||
- //long int mtu = 1412;
|
||||
char nmask[16]="255.255.255.255";
|
||||
|
||||
|
||||
@@ -292,12 +291,6 @@ main (int argc, char *argv[])
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_DNS, val);
|
||||
|
||||
-#if 0
|
||||
- /* WINS servers */
|
||||
- val = addr_list_to_gvalue (getenv ("INTERNAL_IP4_NBNS"));
|
||||
- if (val)
|
||||
- g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_NBNS, val);
|
||||
-#endif
|
||||
|
||||
/* Default domain */
|
||||
val = str_to_gvalue (getenv ("PLUTO_PEER_DOMAIN_INFO"), TRUE);
|
||||
@@ -309,20 +302,6 @@ main (int argc, char *argv[])
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_BANNER, val);
|
||||
|
||||
-#if 0
|
||||
- /* MTU */
|
||||
- tmp = getenv ("INTERNAL_IP4_MTU");
|
||||
- if (tmp && strlen (tmp)) {
|
||||
- errno = 0;
|
||||
- mtu = strtol (tmp, NULL, 10);
|
||||
- if (errno || mtu < 0 || mtu > 20000) {
|
||||
- g_warning ("Ignoring invalid tunnel MTU '%s'", tmp);
|
||||
- mtu = 1412;
|
||||
- }
|
||||
- }
|
||||
- val = uint_to_gvalue ((guint32) mtu);
|
||||
- g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_MTU, val);
|
||||
-#endif
|
||||
|
||||
/* Send the config info to nm-openswan-service */
|
||||
send_ip4_config (connection, config);
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index f9bea3d..64792a6 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -308,11 +308,7 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "--add");
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "--config");
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "-");
|
||||
- //g_ptr_array_add (openswan_argv, (gpointer) "--up");
|
||||
- //g_ptr_array_add (openswan_argv, (gpointer) "--name");
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "nm-conn1");
|
||||
- //g_ptr_array_add (openswan_argv, (gpointer) "--xauthpass");
|
||||
- //g_ptr_array_add (openswan_argv, (gpointer) nm_setting_vpn_get_secret (s_vpn, NM_OPENSWAN_XAUTH_PASSWORD));
|
||||
g_ptr_array_add (openswan_argv, NULL);
|
||||
|
||||
if (!g_spawn_async_with_pipes (NULL, (char **) openswan_argv->pdata, NULL,
|
||||
@@ -524,17 +520,11 @@ nm_openswan_config_write (gint openswan_fd, NMSettingVPN *s_vpn,
|
||||
{
|
||||
WriteConfigInfo *info;
|
||||
const char *props_username;
|
||||
- //const char *props_natt_mode;
|
||||
const char *default_username;
|
||||
const char *phase1_alg_str;
|
||||
const char *phase2_alg_str;
|
||||
- //const char *pw_type;
|
||||
gint fdtmp1=-1;
|
||||
- //gint conf_fd=-1;
|
||||
- //gint secret_fd=-1;
|
||||
|
||||
- //conf_fd = open ("/etc/ipsec.d/ipsec-nm-conn1.conf", O_RDWR|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR);
|
||||
- //secret_fd = open ("/etc/ipsec.d/ipsec-nm-conn1.secrets", O_RDWR|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR);
|
||||
|
||||
fdtmp1 = openswan_fd;
|
||||
if(fdtmp1 != -1) {
|
||||
@@ -576,49 +566,17 @@ nm_openswan_config_write (gint openswan_fd, NMSettingVPN *s_vpn,
|
||||
}
|
||||
|
||||
write_config_option (fdtmp1, " nm_configured=yes\n");
|
||||
- //write_config_option (fdtmp1, " leftupdown=%s\n", NM_OSW_UPDOWN_PATH);
|
||||
- //write_config_option (fdtmp1, " auto=add\n");
|
||||
write_config_option (fdtmp1, " auto=add");
|
||||
- //write_config_option (fdtmp1, " #connectionname=%s\n", nm_setting_vpn_get_data_item (s_vpn, NM_SETTING_VPN_SETTING_NAME));
|
||||
- //write_config_option (fdtmp1, " #connectionname=%s\n", nm_setting_vpn_get_data_item (s_vpn, NM_SETTING_NAME));
|
||||
}
|
||||
|
||||
- //default_username = nm_setting_vpn_get_user_name (s_vpn);
|
||||
-
|
||||
- /* Fill username if it's not present */
|
||||
- /*props_username = nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_LEFTXAUTHUSER);
|
||||
- if ( default_username
|
||||
- && strlen (default_username)
|
||||
- && (!props_username || !strlen (props_username))) {
|
||||
- write_config_option (openswan_fd,
|
||||
- NM_OPENSWAN_LEFTXAUTHUSER " %s\n",
|
||||
- default_username);
|
||||
- }*/
|
||||
-
|
||||
info = g_malloc0 (sizeof (WriteConfigInfo));
|
||||
- //info->fd = openswan_fd;
|
||||
- //info->conf_fd = conf_fd;
|
||||
info->conf_fd = openswan_fd;
|
||||
- //info->secret_fd = secret_fd;
|
||||
info->s_vpn = s_vpn;
|
||||
|
||||
- /* Check for ignored user password */
|
||||
- /*pw_type = nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_XAUTH_PASSWORD_INPUT_MODES);
|
||||
- if (pw_type && !strcmp (pw_type, NM_OPENSWAN_PW_TYPE_UNUSED))
|
||||
- info->upw_ignored = TRUE;*/
|
||||
-
|
||||
- /* Check for ignored group password */
|
||||
- /*pw_type = nm_setting_vpn_get_data_item (s_vpn, NM_OPENSWAN_PSK_INPUT_MODES);
|
||||
- if (pw_type && !strcmp (pw_type, NM_OPENSWAN_PW_TYPE_UNUSED))
|
||||
- info->gpw_ignored = TRUE;*/
|
||||
-
|
||||
nm_setting_vpn_foreach_data_item (s_vpn, write_one_property, info);
|
||||
- //nm_setting_vpn_foreach_secret (s_vpn, write_one_property, info);
|
||||
*error = info->error;
|
||||
- //close(conf_fd);
|
||||
close(openswan_fd);
|
||||
sleep(3);
|
||||
- //close(secret_fd);
|
||||
g_free (info);
|
||||
|
||||
return *error ? FALSE : TRUE;
|
||||
@@ -807,8 +765,6 @@ real_disconnect (NMVPNPlugin *plugin,
|
||||
}
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
- //unlink("/etc/ipsec.d/ipsec-nm-conn1.conf");
|
||||
- //unlink("/etc/ipsec.d/ipsec-nm-conn1.secrets");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 9a5e803eac0f3bd30517a4e615271f0f1d97ca02 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:37:22 -0500
|
||||
Subject: [PATCH 11/20] Fixed the current code as it does not set the default
|
||||
route field NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT when sending VPN
|
||||
information to nm-openswan plugin. This fix sets the field to TRUE.
|
||||
|
||||
---
|
||||
src/nm-openswan-service-helper.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index e148b26..59d79f9 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -121,6 +121,17 @@ str_to_gvalue (const char *str, gboolean try_convert)
|
||||
}
|
||||
|
||||
static GValue *
|
||||
+bool_to_gvalue (gboolean b)
|
||||
+{
|
||||
+ GValue *val;
|
||||
+
|
||||
+ val = g_slice_new0 (GValue);
|
||||
+ g_value_init (val, G_TYPE_BOOLEAN);
|
||||
+ g_value_set_boolean (val, b);
|
||||
+ return val;
|
||||
+}
|
||||
+
|
||||
+static GValue *
|
||||
uint_to_gvalue (guint32 num)
|
||||
{
|
||||
GValue *val;
|
||||
@@ -252,6 +263,7 @@ main (int argc, char *argv[])
|
||||
/* Tunnel device */
|
||||
//val = str_to_gvalue (getenv ("TUNDEV"), FALSE);
|
||||
//val = str_to_gvalue ("tun0", FALSE);
|
||||
+ val = str_to_gvalue ("lo", FALSE);
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, val);
|
||||
else
|
||||
@@ -302,6 +314,10 @@ main (int argc, char *argv[])
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_BANNER, val);
|
||||
|
||||
+ /* Routes */
|
||||
+ /* No default route*/
|
||||
+ g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT,
|
||||
+ bool_to_gvalue (TRUE));
|
||||
|
||||
/* Send the config info to nm-openswan-service */
|
||||
send_ip4_config (connection, config);
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,36 @@
|
||||
From 7917ed515f29f54847e3bf57b6b61e7097ed78e7 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:38:08 -0500
|
||||
Subject: [PATCH 12/20] Fixed netmask issue when sending IP information to the
|
||||
nm openswan plugin service.
|
||||
|
||||
---
|
||||
src/nm-openswan-service-helper.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index 59d79f9..d521645 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -283,9 +283,8 @@ main (int argc, char *argv[])
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_PTP, val);
|
||||
else
|
||||
helper_failed (connection, "IP4 PTP Address");
|
||||
-//#if 0
|
||||
+
|
||||
/* Netmask */
|
||||
- //tmp = getenv ("INTERNAL_IP4_NETMASK");
|
||||
tmp = nmask;
|
||||
if (tmp && inet_pton (AF_INET, tmp, &temp_addr) > 0) {
|
||||
GValue *value;
|
||||
@@ -296,7 +295,6 @@ main (int argc, char *argv[])
|
||||
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, value);
|
||||
}
|
||||
-//#endif
|
||||
|
||||
/* DNS */
|
||||
val = addr_list_to_gvalue (getenv ("PLUTO_PEER_DNS_INFO"));
|
||||
--
|
||||
1.8.3.1
|
||||
|
68
0013-Fixed-more-libreswan-related-changes.patch
Normal file
68
0013-Fixed-more-libreswan-related-changes.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From 2581ac2914b666b427a90ea400e757ef41030bdd Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:45:06 -0500
|
||||
Subject: [PATCH 13/20] Fixed more libreswan related changes.
|
||||
|
||||
---
|
||||
src/nm-openswan-service-helper.c | 7 +++----
|
||||
src/nm-openswan-service.c | 8 ++++----
|
||||
2 files changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service-helper.c b/src/nm-openswan-service-helper.c
|
||||
index d521645..cde7443 100644
|
||||
--- a/src/nm-openswan-service-helper.c
|
||||
+++ b/src/nm-openswan-service-helper.c
|
||||
@@ -204,8 +204,8 @@ addr_list_to_gvalue (const char *str)
|
||||
*
|
||||
* PLUTO_PEER -- vpn gateway address
|
||||
* PLUTO_MY_SOURCEIP -- address
|
||||
- * PLUTO_CISCO_DNS_INFO -- list of dns serverss
|
||||
- * PLUTO_CISCO_DOMAIN_INFO -- default domain name
|
||||
+ * PLUTO_PEER_DNS_INFO -- list of dns serverss
|
||||
+ * PLUTO_PEER_DOMAIN_INFO -- default domain name
|
||||
* PLUTO_PEER_BANNER -- banner from server
|
||||
*
|
||||
*/
|
||||
@@ -247,8 +247,7 @@ main (int argc, char *argv[])
|
||||
if (val)
|
||||
g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_GATEWAY, val);
|
||||
else
|
||||
- helper_failed (connection, "Openswan Pluto Right Peer (VPN Gateway)");
|
||||
-
|
||||
+ helper_failed (connection, "IPsec/Pluto Right Peer (VPN Gateway)");
|
||||
|
||||
/*
|
||||
* Tunnel device
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index 64792a6..d59c58f 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -860,15 +860,15 @@ main (int argc, char *argv[])
|
||||
g_option_context_parse (opt_ctx, &argc, &argv, NULL);
|
||||
g_option_context_free (opt_ctx);
|
||||
|
||||
- if (getenv ("OPENSWAN_DEBUG"))
|
||||
+ if (getenv ("IPSEC_DEBUG"))
|
||||
debug = TRUE;
|
||||
|
||||
if (debug)
|
||||
- g_message ("nm-openswan-service (version " DIST_VERSION ") starting...");
|
||||
+ g_printf ("nm-openswan-service (version " DIST_VERSION ") starting...\n");
|
||||
|
||||
plugin = nm_openswan_plugin_new ();
|
||||
if (!plugin)
|
||||
- exit (1);
|
||||
+ exit (EXIT_FAILURE);
|
||||
|
||||
loop = g_main_loop_new (NULL, FALSE);
|
||||
|
||||
@@ -881,5 +881,5 @@ main (int argc, char *argv[])
|
||||
g_main_loop_unref (loop);
|
||||
g_object_unref (plugin);
|
||||
|
||||
- exit (0);
|
||||
+ exit (EXIT_SUCCESS);
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,27 @@
|
||||
From fdd136923c77b71080f2ccb2c0fe0a5234e73c1c Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 14:47:14 -0500
|
||||
Subject: [PATCH 14/20] Fixed an issue where nm-openswan service is searching
|
||||
for ipsec binary in both /sbin and /usr/sbin leading to same operation twice,
|
||||
as /sbin is just symlink to /usr/sbin, so removed /sbin from the search
|
||||
paths.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index d59c58f..7f1a9c9 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -57,7 +57,6 @@ typedef struct {
|
||||
static const char *openswan_binary_paths[] =
|
||||
{
|
||||
"/usr/sbin/ipsec",
|
||||
- "/sbin/ipsec",
|
||||
"/usr/local/sbin/ipsec",
|
||||
NULL
|
||||
};
|
||||
--
|
||||
1.8.3.1
|
||||
|
131
0015-Rewrite-pluto-watch-API-which-watches-the-pluto-proc.patch
Normal file
131
0015-Rewrite-pluto-watch-API-which-watches-the-pluto-proc.patch
Normal file
@ -0,0 +1,131 @@
|
||||
From 24e2b36b20f2b6d42f715618e13c2919ad0fc51c Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 15:04:09 -0500
|
||||
Subject: [PATCH 15/20] Rewrite pluto watch API which watches the pluto process
|
||||
for its status. Fixed memory leak issues as not all child processes were
|
||||
reaped correctly. Also g_spwan_close_pid was not being called after children
|
||||
were reaped. Also modified debugs and added more to help with debugging in
|
||||
the future.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 52 +++++++++++++++++++++++++++--------------------
|
||||
1 file changed, 30 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index 7f1a9c9..b73ab1f 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -207,30 +207,33 @@ nm_openswan_secrets_validate (NMSettingVPN *s_vpn, GError **error)
|
||||
}
|
||||
|
||||
static void
|
||||
-openswan_watch_cb_auto (GPid pid, gint status, gpointer user_data)
|
||||
+pluto_watch_cb (GPid pid, gint status, gpointer user_data)
|
||||
{
|
||||
NMOPENSWANPlugin *plugin = NM_OPENSWAN_PLUGIN (user_data);
|
||||
NMOPENSWANPluginPrivate *priv = NM_OPENSWAN_PLUGIN_GET_PRIVATE (plugin);
|
||||
guint error = 0;
|
||||
|
||||
+ if(debug)
|
||||
+ g_printf("pluto_watch: current child pid = %d, pluto pid=%d\n", pid, priv->pid);
|
||||
+
|
||||
if (WIFEXITED (status)) {
|
||||
error = WEXITSTATUS (status);
|
||||
if (error != 0)
|
||||
- g_warning ("openswan: ipsec auto exited with error code %d", error);
|
||||
+ g_printf ("pluto_watch: pluto exited with error code %d\n", error);
|
||||
}
|
||||
else if (WIFSTOPPED (status))
|
||||
- g_warning ("openswan: ipsec auto stopped unexpectedly with signal %d", WSTOPSIG (status));
|
||||
+ g_printf ("pluto_watch: pluto stopped unexpectedly with signal %d\n", WSTOPSIG (status));
|
||||
else if (WIFSIGNALED (status))
|
||||
- g_warning ("openswan: ipsec auto died with signal %d", WTERMSIG (status));
|
||||
+ g_printf ("pluto_watch: pluto died with signal %d\n", WTERMSIG (status));
|
||||
else
|
||||
- g_warning ("openswan: ipsec auto died from an unknown cause");
|
||||
+ g_printf ("pluto_watch: pluto died from an unknown cause\n");
|
||||
|
||||
/* Reap child if needed. */
|
||||
- //waitpid (priv->pid_auto, NULL, WNOHANG);
|
||||
- //priv->pid_auto = 0;
|
||||
+ waitpid (pid, NULL, WNOHANG);
|
||||
+
|
||||
+ if(debug)
|
||||
+ g_printf ("pluto_watch: reaped child pid =%d\n", pid);
|
||||
|
||||
- waitpid (priv->pid, NULL, WNOHANG);
|
||||
- priv->pid = 0;
|
||||
|
||||
/* Must be after data->state is set since signals use data->state */
|
||||
switch (error) {
|
||||
@@ -246,18 +249,29 @@ openswan_watch_cb_auto (GPid pid, gint status, gpointer user_data)
|
||||
break;
|
||||
}
|
||||
|
||||
- nm_vpn_plugin_set_state (NM_VPN_PLUGIN (plugin), NM_VPN_SERVICE_STATE_STOPPED);
|
||||
+ if(pid == priv->pid || error) {
|
||||
+ priv->pid = 0;
|
||||
+
|
||||
+ if(debug)
|
||||
+ g_printf ("pluto_watch: nm pluto service is stopping\n");
|
||||
+
|
||||
+ nm_vpn_plugin_set_state (NM_VPN_PLUGIN (plugin), NM_VPN_SERVICE_STATE_STOPPED);
|
||||
+ }
|
||||
+
|
||||
+ if(debug)
|
||||
+ g_printf ("pluto_watch: nm pluto service will continue after reaping a child\n");
|
||||
+
|
||||
+ /*closing pid*/
|
||||
+ g_spawn_close_pid(pid);
|
||||
}
|
||||
|
||||
|
||||
static gint
|
||||
-//nm_openswan_start_openswan_binary (NMSettingVPN *s_vpn, NMOPENSWANPlugin *plugin, GError **error)
|
||||
nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
{
|
||||
GPid pid, pid_auto;
|
||||
const char **openswan_binary = NULL;
|
||||
GPtrArray *openswan_argv;
|
||||
- GSource *openswan_watch;
|
||||
gint stdin_fd;
|
||||
|
||||
/* Find openswan ipsec */
|
||||
@@ -293,11 +307,8 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
|
||||
g_message ("openswan: ipsec started with pid %d", pid);
|
||||
|
||||
- NM_OPENSWAN_PLUGIN_GET_PRIVATE (plugin)->pid = pid;
|
||||
- openswan_watch = g_child_watch_source_new (pid);
|
||||
- g_source_set_callback (openswan_watch, (GSourceFunc) openswan_watch_cb_auto, plugin, NULL);
|
||||
- g_source_attach (openswan_watch, NULL);
|
||||
- g_source_unref (openswan_watch);
|
||||
+ NM_OPENSWAN_PLUGIN_GET_PRIVATE (plugin)->pid = pid;
|
||||
+ g_child_watch_add(pid, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
|
||||
sleep(2);
|
||||
|
||||
@@ -322,11 +333,7 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
|
||||
g_message ("openswan: ipsec auto started with pid %d", pid_auto);
|
||||
|
||||
- /*NM_OPENSWAN_PLUGIN_GET_PRIVATE (plugin)->pid_auto = pid_auto;
|
||||
- openswan_watch = g_child_watch_source_new (pid_auto);
|
||||
- g_source_set_callback (openswan_watch, (GSourceFunc) openswan_watch_cb_auto, plugin, NULL);
|
||||
- g_source_attach (openswan_watch, NULL);
|
||||
- g_source_unref (openswan_watch);*/
|
||||
+ g_child_watch_add(pid_auto, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
|
||||
return stdin_fd;
|
||||
}
|
||||
@@ -376,6 +383,7 @@ nm_openswan_start_openswan_connection (NMOPENSWANPlugin *plugin, GError **error)
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
sleep(3);
|
||||
+ g_child_watch_add(pid, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
|
||||
g_message ("openswan: ipsec auto connection started with pid %d", pid);
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From dde144e924005c3048061b4d758019a1358ac505 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 15:05:25 -0500
|
||||
Subject: [PATCH 16/20] Fixed defaults values for more parameters to help the
|
||||
VPN connection stay more reliable.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index b73ab1f..b807bcc 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -573,6 +573,10 @@ nm_openswan_config_write (gint openswan_fd, NMSettingVPN *s_vpn,
|
||||
}
|
||||
|
||||
write_config_option (fdtmp1, " nm_configured=yes\n");
|
||||
+ write_config_option (fdtmp1, " rekey=yes\n");
|
||||
+ write_config_option (fdtmp1, " salifetime=24h\n");
|
||||
+ write_config_option (fdtmp1, " ikelifetime=24h\n");
|
||||
+ write_config_option (fdtmp1, " keyingtries=1\n");
|
||||
write_config_option (fdtmp1, " auto=add");
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,50 @@
|
||||
From 9dadb938c40e4d56fea6c6d55f3c9b90e776fb62 Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 15:21:54 -0500
|
||||
Subject: [PATCH 17/20] Fixed initiation of pluto daemon by this plugin to
|
||||
reflect the changes in libreaswan.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index b807bcc..f205c1d 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -49,7 +49,6 @@ G_DEFINE_TYPE (NMOPENSWANPlugin, nm_openswan_plugin, NM_TYPE_VPN_PLUGIN)
|
||||
|
||||
typedef struct {
|
||||
GPid pid;
|
||||
- GPid pid_auto;
|
||||
} NMOPENSWANPluginPrivate;
|
||||
|
||||
#define NM_OPENSWAN_PLUGIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_OPENSWAN_PLUGIN, NMOPENSWANPluginPrivate))
|
||||
@@ -291,14 +290,20 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- openswan_argv = g_ptr_array_new ();
|
||||
- g_ptr_array_add (openswan_argv, (gpointer) (*openswan_binary));
|
||||
- g_ptr_array_add (openswan_argv, (gpointer) "setup");
|
||||
+ /*openswan_argv = g_ptr_array_new ();
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "start");
|
||||
g_ptr_array_add (openswan_argv, NULL);
|
||||
|
||||
+ g_ptr_array_free (openswan_argv, TRUE);*/
|
||||
+ openswan_argv = g_ptr_array_new ();
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "/usr/libexec/ipsec/pluto");
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "--config");
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "/etc/ipsec.conf");
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "--nofork");
|
||||
+ g_ptr_array_add (openswan_argv, NULL);
|
||||
+
|
||||
if (!g_spawn_async (NULL, (char **) openswan_argv->pdata, NULL,
|
||||
- 0, NULL, NULL, &pid, error)) {
|
||||
+ G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, error)) {
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
g_warning ("openswan ipsec failed to start. error: '%s'", (*error)->message);
|
||||
return -1;
|
||||
--
|
||||
1.8.3.1
|
||||
|
103
0018-Fixed-various-debug-messages.patch
Normal file
103
0018-Fixed-various-debug-messages.patch
Normal file
@ -0,0 +1,103 @@
|
||||
From 9ef10efa0905b22395987d99b26b8d5cbebd03ba Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 15:23:59 -0500
|
||||
Subject: [PATCH 18/20] Fixed various debug messages.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 25 +++++++++++++------------
|
||||
1 file changed, 13 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index f205c1d..fffd020 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -305,12 +305,12 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
if (!g_spawn_async (NULL, (char **) openswan_argv->pdata, NULL,
|
||||
G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid, error)) {
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
- g_warning ("openswan ipsec failed to start. error: '%s'", (*error)->message);
|
||||
+ g_printf ("pluto failed to start. error: '%s'\n", (*error)->message);
|
||||
return -1;
|
||||
}
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
- g_message ("openswan: ipsec started with pid %d", pid);
|
||||
+ g_printf ("ipsec/pluto started with pid %d\n", pid);
|
||||
|
||||
NM_OPENSWAN_PLUGIN_GET_PRIVATE (plugin)->pid = pid;
|
||||
g_child_watch_add(pid, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
@@ -331,20 +331,19 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
NULL, NULL, error)) {
|
||||
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
- g_warning ("openswan: ipsec auto failed to start. error: '%s'", (*error)->message);
|
||||
+ g_printf ("ipsec auto add failed with error: '%s'\n", (*error)->message);
|
||||
return -1;
|
||||
}
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
- g_message ("openswan: ipsec auto started with pid %d", pid_auto);
|
||||
+ if(debug)
|
||||
+ g_printf ("pluto auto started with pid %d\n", pid_auto);
|
||||
|
||||
g_child_watch_add(pid_auto, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
|
||||
return stdin_fd;
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
static gint
|
||||
nm_openswan_start_openswan_connection (NMOPENSWANPlugin *plugin, GError **error)
|
||||
{
|
||||
@@ -382,15 +381,17 @@ nm_openswan_start_openswan_connection (NMOPENSWANPlugin *plugin, GError **error)
|
||||
NULL, NULL, error)) {
|
||||
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
- g_warning ("openswan: ipsec auto connection failed to start. error: '%s'", (*error)->message);
|
||||
+ g_printf ("ipsec/pluto auto connection failed to start. error: '%s'\n", (*error)->message);
|
||||
return -1;
|
||||
}
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
- sleep(3);
|
||||
+ if(debug)
|
||||
+ g_printf ("pluto up started with pid %d\n", pid);
|
||||
+
|
||||
g_child_watch_add(pid, (GChildWatchFunc) pluto_watch_cb, plugin);
|
||||
|
||||
- g_message ("openswan: ipsec auto connection started with pid %d", pid);
|
||||
+ //sleep(3);
|
||||
|
||||
return stdin_fd;
|
||||
}
|
||||
@@ -408,7 +409,7 @@ write_config_option (int fd, const char *format, ...)
|
||||
g_print ("Config: %s", string);
|
||||
|
||||
if ( write (fd, string, strlen (string)) == -1) {
|
||||
- g_warning ("nm-openswan: error in write_config_option");
|
||||
+ g_printf ("nm-openswan: error in write_config_option\n");
|
||||
}
|
||||
|
||||
g_free (string);
|
||||
@@ -521,7 +522,7 @@ write_one_property (const char *key, const char *value, gpointer user_data)
|
||||
/* ignored */
|
||||
} else {
|
||||
/* Just ignore unknown properties */
|
||||
- g_warning ("Don't know how to write property '%s' with type %s",
|
||||
+ g_printf ("Don't know how to write property '%s' with type %s\n",
|
||||
(char *) key, g_type_name (type));
|
||||
}
|
||||
}
|
||||
@@ -676,7 +677,7 @@ real_connect (NMVPNPlugin *plugin,
|
||||
if (openswan_fd < 0)
|
||||
goto out;
|
||||
|
||||
- write_config_option (openswan_fd, "%s", nm_setting_vpn_get_secret (s_vpn, NM_OPENSWAN_XAUTH_PASSWORD));
|
||||
+ write_config_option (openswan_fd, "%s", nm_setting_vpn_get_secret (s_vpn, NM_OPENSWAN_XAUTH_PASSWORD));
|
||||
close(openswan_fd);
|
||||
openswan_fd=-1;
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,44 @@
|
||||
From 27c17d7d805ad87632872cf2ded5237fc59159dd Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 15:25:35 -0500
|
||||
Subject: [PATCH 19/20] Fixed the termination operation of pluto daemon to
|
||||
comply with libreswan changes.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index fffd020..af541bd 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -769,20 +769,21 @@ real_disconnect (NMVPNPlugin *plugin,
|
||||
}
|
||||
|
||||
openswan_argv = g_ptr_array_new ();
|
||||
- g_ptr_array_add (openswan_argv, (gpointer) (*openswan_binary));
|
||||
- g_ptr_array_add (openswan_argv, (gpointer) "setup");
|
||||
- g_ptr_array_add (openswan_argv, (gpointer) "stop");
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "/usr/libexec/ipsec/whack");
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "--shutdown");
|
||||
+ //g_ptr_array_add (openswan_argv, (gpointer) (*openswan_binary));
|
||||
+ //g_ptr_array_add (openswan_argv, (gpointer) "setup");
|
||||
+ //g_ptr_array_add (openswan_argv, (gpointer) "stop");
|
||||
g_ptr_array_add (openswan_argv, NULL);
|
||||
|
||||
if (!g_spawn_async (NULL, (char **) openswan_argv->pdata, NULL,
|
||||
0, NULL, NULL, NULL, error)) {
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
- g_warning ("Openswan (pluto) failed to stop. error: '%s'", (*error)->message);
|
||||
+ g_printf ("ipsec (pluto) failed to stop. error: '%s'\n", (*error)->message);
|
||||
return -1;
|
||||
}
|
||||
g_ptr_array_free (openswan_argv, TRUE);
|
||||
|
||||
-
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,39 @@
|
||||
From 7559f06152549e0c457d08c67f2d3088b37c6ccf Mon Sep 17 00:00:00 2001
|
||||
From: Avesh Agarwal <avagarwa@redhat.com>
|
||||
Date: Tue, 10 Dec 2013 16:56:18 -0500
|
||||
Subject: [PATCH 20/20] Fixed an issue where proper network stack is not loaded
|
||||
unless _stackmanager is run before starting pluto daemon service.
|
||||
|
||||
---
|
||||
src/nm-openswan-service.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/nm-openswan-service.c b/src/nm-openswan-service.c
|
||||
index af541bd..f6afee5 100644
|
||||
--- a/src/nm-openswan-service.c
|
||||
+++ b/src/nm-openswan-service.c
|
||||
@@ -290,11 +290,19 @@ nm_openswan_start_openswan_binary (NMOPENSWANPlugin *plugin, GError **error)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- /*openswan_argv = g_ptr_array_new ();
|
||||
+ openswan_argv = g_ptr_array_new ();
|
||||
+ g_ptr_array_add (openswan_argv, (gpointer) "/usr/libexec/ipsec/_stackmanager");
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "start");
|
||||
g_ptr_array_add (openswan_argv, NULL);
|
||||
|
||||
- g_ptr_array_free (openswan_argv, TRUE);*/
|
||||
+ if (!g_spawn_sync (NULL, (char **) openswan_argv->pdata, NULL,
|
||||
+ 0, NULL, NULL, NULL, NULL, NULL, error)) {
|
||||
+ g_ptr_array_free (openswan_argv, TRUE);
|
||||
+ g_printf ("pluto _stackmanager failed with error: '%s'\n", (*error)->message);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ g_ptr_array_free (openswan_argv, TRUE);
|
||||
+
|
||||
openswan_argv = g_ptr_array_new ();
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "/usr/libexec/ipsec/pluto");
|
||||
g_ptr_array_add (openswan_argv, (gpointer) "--config");
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,19 +1,41 @@
|
||||
%define nm_version 1:0.9.2
|
||||
#%define nm_version 1:0.9.8
|
||||
|
||||
%define realversion 0.9.8.0
|
||||
%define realversion 0.9.8.4
|
||||
|
||||
Summary: NetworkManager VPN plug-in for openswan
|
||||
Name: NetworkManager-openswan
|
||||
Version: 0.9.8.0
|
||||
Version: 0.9.8.4
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
Group: System Environment/Base
|
||||
URL: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openswan/0.9/
|
||||
Source0: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openswan/0.9/%{name}-%{realversion}.tar.xz
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
Patch1: 0001-NM-openswan-was-missing-support-for-nm-openswan-auth.patch
|
||||
Patch2: 0002-Fixed-gtk-label-max-width-issue-by-setting-it-to-35.patch
|
||||
Patch3: 0003-Fixed-Networkmanager-and-related-lib-dependencies.patch
|
||||
Patch4: 0004-Fixed-gnomekeyring-lib-dependencies.patch
|
||||
Patch5: 0005-Fixed-dead-code-based-on-coverity-scan.patch
|
||||
Patch6: 0006-Fix-prcoessing-of-nm-openswan-dialog.ui-file-and-add.patch
|
||||
Patch7: 0007-openswan-libreswan-does-not-provide-tun0-interface-s.patch
|
||||
Patch8: 0008-libreswan-related-fixes-as-some-macros-have-been-mod.patch
|
||||
Patch9: 0009-Fixed-an-issue-where-writing-configuration-on-stdin-.patch
|
||||
Patch10: 0010-Fixed-more-coverity-scan-issues.patch
|
||||
Patch11: 0011-Fixed-the-current-code-as-it-does-not-set-the-defaul.patch
|
||||
Patch12: 0012-Fixed-netmask-issue-when-sending-IP-information-to-t.patch
|
||||
Patch13: 0013-Fixed-more-libreswan-related-changes.patch
|
||||
Patch14: 0014-Fixed-an-issue-where-nm-openswan-service-is-searchin.patch
|
||||
Patch15: 0015-Rewrite-pluto-watch-API-which-watches-the-pluto-proc.patch
|
||||
Patch16: 0016-Fixed-defaults-values-for-more-parameters-to-help-th.patch
|
||||
Patch17: 0017-Fixed-initiation-of-pluto-daemon-by-this-plugin-to-r.patch
|
||||
Patch18: 0018-Fixed-various-debug-messages.patch
|
||||
Patch19: 0019-Fixed-the-termination-operation-of-pluto-daemon-to-c.patch
|
||||
Patch20: 0020-Fixed-an-issue-where-proper-network-stack-is-not-loa.patch
|
||||
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: NetworkManager-devel
|
||||
BuildRequires: NetworkManager-glib-devel
|
||||
BuildRequires: NetworkManager-devel >= %{nm_version}
|
||||
BuildRequires: NetworkManager-glib-devel >= %{nm_version}
|
||||
%if 0%{?fedora} > 16 || 0%{?rhel} >= 7
|
||||
@ -25,46 +47,143 @@ BuildRequires: intltool gettext
|
||||
|
||||
Requires: NetworkManager >= %{nm_version}
|
||||
Requires: gnome-keyring
|
||||
Requires: gtk3
|
||||
Requires: dbus
|
||||
Requires: libreswan
|
||||
Requires: shared-mime-info
|
||||
#Requires: nm-connection-editor
|
||||
|
||||
%global _privatelibs libnm-openswan-properties[.]so.*
|
||||
%global __provides_exclude ^(%{_privatelibs})$
|
||||
%global __requires_exclude ^(%{_privatelibs})$
|
||||
|
||||
%description
|
||||
This package contains software for integrating the openswan VPN software
|
||||
with NetworkManager and the GNOME desktop
|
||||
|
||||
%package -n NetworkManager-openswan-gnome
|
||||
Summary: NetworkManager VPN plugin for openswan - GNOME files
|
||||
Group: System Environment/Base
|
||||
|
||||
Requires: NetworkManager-openswan = %{version}-%{release}
|
||||
Requires: nm-connection-editor
|
||||
|
||||
%description -n NetworkManager-openswan-gnome
|
||||
This package contains software for integrating VPN capabilities with
|
||||
the openswan/libreswan server with NetworkManager (GNOME files).
|
||||
|
||||
%prep
|
||||
%setup -q -n NetworkManager-openswan-%{realversion}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
|
||||
%build
|
||||
autoreconf
|
||||
%configure --disable-static --enable-more-warnings=yes
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
|
||||
rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.a
|
||||
mv %{buildroot}%{_libexecdir}/nm-openswan-service-helper %{buildroot}%{_libexecdir}/nm-libreswan-service-helper
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%post
|
||||
update-desktop-database &> /dev/null || :
|
||||
|
||||
%postun
|
||||
update-desktop-database &> /dev/null || :
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-, root, root,-)
|
||||
%config /etc/NetworkManager/VPN/nm-openswan-service.name
|
||||
%config /etc/dbus-1/system.d/nm-openswan-service.conf
|
||||
|
||||
%doc AUTHORS ChangeLog COPYING
|
||||
%{_libdir}/NetworkManager/lib*.so*
|
||||
#%{_libdir}/NetworkManager/lib*.so*
|
||||
%{_libexecdir}/nm-openswan-auth-dialog
|
||||
%{_sysconfdir}/dbus-1/system.d/nm-openswan-service.conf
|
||||
%{_sysconfdir}/NetworkManager/VPN/nm-openswan-service.name
|
||||
%{_libexecdir}/nm-openswan-service
|
||||
%{_libexecdir}/nm-openswan-service-helper
|
||||
%{_datadir}/gnome-vpn-properties/openswan/nm-openswan-dialog.ui
|
||||
%{_libexecdir}/nm-libreswan-service-helper
|
||||
%{_datadir}/applications/nm-openswan-auth-dialog.desktop
|
||||
#%dir %{_datadir}/gnome-vpn-properties/openswan
|
||||
#%{_datadir}/gnome-vpn-properties/openswan/nm-openswan-dialog.ui
|
||||
|
||||
%files -n NetworkManager-openswan-gnome
|
||||
%doc AUTHORS ChangeLog COPYING
|
||||
%{_libdir}/NetworkManager/lib*.so*
|
||||
%dir %{_datadir}/gnome-vpn-properties/openswan
|
||||
%{_datadir}/gnome-vpn-properties/openswan/nm-openswan-dialog.ui
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Dec 10 2013 Avesh Agarwal <avagarwa@redhat.com> - 0.9.8.4-1
|
||||
- New upstream release 0.9.8.4
|
||||
- Fixed 926225
|
||||
- Fixed dependency to libreswan.
|
||||
- Created a new sub package NetworkManager-openswan-gnome
|
||||
- Various other spec file fixes.
|
||||
- Additional code changes are as follows:
|
||||
- Fixed an issue where proper network stack is not loaded unless
|
||||
_stackmanager is run before starting pluto daemon service.
|
||||
- Fixed the termination operation of pluto daemon to comply with
|
||||
libreswan changes.
|
||||
- Fixed various debug messages.
|
||||
- Fixed initiation of pluto daemon by this plugin to reflect the
|
||||
changes in libreaswan.
|
||||
- Fixed defaults values for more parameters to help the VPN
|
||||
connection stay more reliable.
|
||||
- Rewrote pluto watch API which watches the pluto process for its status.
|
||||
Fixed memory leak issues as not all child processes were reaped correctly.
|
||||
Also g_spwan_close_pid was not being called after children were reaped.
|
||||
Also modified debugs and added more to help with debugging in the future.
|
||||
- Fixed an issue where nm-openswan service is searching for ipsec binary in
|
||||
both /sbin and /usr/sbin leading to same operation twice, as /sbin is just
|
||||
symlink to /usr/sbin, so removed /sbin from the search paths.
|
||||
- Fixed some libreswan related macro changes.
|
||||
- Fixed netmask issue when sending IP information to the nm openswan
|
||||
plugin service.
|
||||
- Fixed the current code as it does not set the default route field
|
||||
NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT when sending VPN information
|
||||
to nm-openswan plugin. This fix sets the field to TRUE.
|
||||
- Fixed some issues found by coverity scan.
|
||||
- Fixed an issue where writing configuration on stdin should not end with
|
||||
\n as it gives error. It used to work previously, but not with latest
|
||||
NetworkManager versions.
|
||||
- libreswan related fixes, as some macros have been modified after forking
|
||||
to libreswan from openswan.
|
||||
- openswan/libreswan does not provide tun0 interface, so fixed the code
|
||||
where it sends tun0 interface.
|
||||
- Fix prcoessing of nm-openswan-dialog.ui file and added more error notifications.
|
||||
- Fixed dead code based on coverity scan.
|
||||
- Fixed gnomekeyring lib dependencies.
|
||||
- Fixed Networkmanager and related lib dependencies.
|
||||
- Fixed gtk label max width issue by setting it to 35.
|
||||
- NM-openswan was missing support for nm-openswan-auth-dialog.desktop.in.in.
|
||||
So added a new nm-openswan-auth-dialog.desktop.in.in, and modified related
|
||||
Makefile and configure.ac files.
|
||||
|
||||
* Mon Aug 5 2013 Avesh Agarwal <avagarwa@redhat.com> - 0.9.8.0-1
|
||||
- Rebase to latest upstream version 0.9.8.0
|
||||
- Fixed several issues with the packaging
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
70281754557a11eef344ecbc7f88b4ce NetworkManager-openswan-0.9.8.0.sha256sum
|
||||
6a373868f85ac3b7c953f7fd6c76e637 NetworkManager-openswan-0.9.8.0.tar.xz
|
||||
4aafa86d4203bb2b51c93165db165086 NetworkManager-openswan-0.9.8.4.sha256sum
|
||||
6cb2b64bc79c4174856613d077667b66 NetworkManager-openswan-0.9.8.4.tar.xz
|
||||
|
Loading…
Reference in New Issue
Block a user