summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--capplet/gsm-properties-dialog.c2
-rw-r--r--configure.ac6
-rw-r--r--mate-session/gsm-util.c14
3 files changed, 18 insertions, 4 deletions
diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index 96a0dc3..d05d564 100644
--- a/capplet/gsm-properties-dialog.c
+++ b/capplet/gsm-properties-dialog.c
@@ -894,7 +894,7 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog)
gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE);
- gtk_container_set_border_width (GTK_CONTAINER (dialog), 6);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (content_area), 2);
gtk_window_set_icon_name (GTK_WINDOW (dialog), "mate-session-properties");
gtk_window_set_title (GTK_WINDOW (dialog), _("Startup Applications Preferences"));
diff --git a/configure.ac b/configure.ac
index fd7f6a0..0bf02ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -120,6 +120,12 @@ if test "x$with_systemd" != "xno" ; then
AC_DEFINE(HAVE_SYSTEMD, 1, [systemd support])
AC_SUBST(SYSTEMD_CFLAGS)
AC_SUBST(SYSTEMD_LIBS)
+ PKG_CHECK_EXISTS([libsystemd],
+ [systemd_pkgconfig=libsystemd],
+ [systemd_pkgconfig=libsystemd-login])
+ PKG_CHECK_EXISTS([$systemd_pkgconfig >= 248],,
+ [AC_DEFINE([SYSTEMD_STRICT_ENV], [1],
+ [Use strict environment variable validation for systemd < 248])])
fi
fi
AM_CONDITIONAL(HAVE_SYSTEMD, test "x$use_systemd" = "xyes")
diff --git a/mate-session/gsm-util.c b/mate-session/gsm-util.c
index a760fc3..5da30d2 100644
--- a/mate-session/gsm-util.c
+++ b/mate-session/gsm-util.c
@@ -501,6 +501,13 @@ gsm_util_update_activation_environment (const char *variable,
return environment_updated;
}
+#define ENV_NAME_PATTERN "[a-zA-Z_][a-zA-Z0-9_]*"
+#ifdef SYSTEMD_STRICT_ENV
+#define ENV_VALUE_PATTERN "(?:[ \t\n]|[^[:cntrl:]])*"
+#else
+#define ENV_VALUE_PATTERN ".*"
+#endif
+
gboolean
gsm_util_export_activation_environment (GError **error)
{
@@ -519,13 +526,14 @@ gsm_util_export_activation_environment (GError **error)
return FALSE;
}
- name_regex = g_regex_new ("^[a-zA-Z_][a-zA-Z0-9_]*$", G_REGEX_OPTIMIZE, 0, error);
+ name_regex = g_regex_new ("^" ENV_NAME_PATTERN "$", G_REGEX_OPTIMIZE, 0, error);
if (name_regex == NULL) {
return FALSE;
}
- value_regex = g_regex_new ("^([[:blank:]]|[^[:cntrl:]])*$", G_REGEX_OPTIMIZE, 0, error);
+
+ value_regex = g_regex_new ("^" ENV_VALUE_PATTERN "$", G_REGEX_OPTIMIZE, 0, error);
if (value_regex == NULL) {
return FALSE;
@@ -597,7 +605,7 @@ gsm_util_export_user_environment (GError **error)
return FALSE;
}
- regex = g_regex_new ("^[a-zA-Z_][a-zA-Z0-9_]*=([[:blank:]]|[^[:cntrl:]])*$", G_REGEX_OPTIMIZE, 0, error);
+ regex = g_regex_new ("^" ENV_NAME_PATTERN "=" ENV_VALUE_PATTERN "$", G_REGEX_OPTIMIZE, 0, error);
if (regex == NULL) {
return FALSE;