diff options
| -rw-r--r-- | capplet/gsm-properties-dialog.c | 2 | ||||
| -rw-r--r-- | configure.ac | 6 | ||||
| -rw-r--r-- | mate-session/gsm-util.c | 14 |
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; |
