Hello community,
here is the log from the commit of package gdm for openSUSE:Factory
checked in at Fri Dec 5 15:24:07 CET 2008.
--------
--- GNOME/gdm/gdm.changes 2008-12-04 08:43:16.000000000 +0100
+++ /mounts/work_src_done/STABLE/gdm/gdm.changes 2008-12-05 06:58:20.000000000 +0100
@@ -2 +2,7 @@
-Thu Dec 4 01:26:30 CST 2008 - hpj@novell.com
+Thu Dec 4 23:47:59 CST 2008 - hpj@novell.com
+
+- Update gdm-domain-logon.patch to omit undesirable domains
+ (bnc#450143).
+
+-------------------------------------------------------------------
+Thu Dec 3 01:26:30 CST 2008 - hpj@novell.com
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdm.spec ++++++
--- /var/tmp/diff_new_pack.l20838/_old 2008-12-05 15:20:11.000000000 +0100
+++ /var/tmp/diff_new_pack.l20838/_new 2008-12-05 15:20:11.000000000 +0100
@@ -57,7 +57,7 @@
License: GPL v2 or later
Group: System/GUI/GNOME
Version: 2.24.0
-Release: 14
+Release: 15
Summary: The GNOME 2.x Display Manager
Source: %{name}-%{version}.tar.bz2
Source1: gdm.pamd
@@ -287,6 +287,9 @@
%changelog
* Thu Dec 04 2008 hpj@novell.com
+- Update gdm-domain-logon.patch to omit undesirable domains
+ (bnc#450143).
+* Wed Dec 03 2008 hpj@novell.com
- Replace gdm-2.21.5-vt7-temporary-hack.patch with
gdm-vt-allocation-hack.patch. The new patch doesn't hardcode gdm
to VT7, but instead scans for a free VT starting with VT7
++++++ gdm-domain-logon.patch ++++++
--- /var/tmp/diff_new_pack.l20838/_old 2008-12-05 15:20:11.000000000 +0100
+++ /var/tmp/diff_new_pack.l20838/_new 2008-12-05 15:20:11.000000000 +0100
@@ -665,7 +665,7 @@
+#endif /* __GDM_DOMAIN_CHOOSER_WIDGET_H */
diff --git a/gui/simple-greeter/gdm-domain-option-widget.c b/gui/simple-greeter/gdm-domain-option-widget.c
new file mode 100644
-index 0000000..93eb5f5
+index 0000000..31e76e2
--- /dev/null
+++ b/gui/simple-greeter/gdm-domain-option-widget.c
@@ -0,0 +1,379 @@
@@ -968,7 +968,7 @@
+
+ gdm_recent_option_widget_set_gconf_key (GDM_RECENT_OPTION_WIDGET (domain_option_widget),
+ "/apps/gdm/simple-greeter/recent-domains",
-+ gdm_domain_option_widget_lookup_item,
++ (GdmRecentOptionLookupItemFunc) gdm_domain_option_widget_lookup_item,
+ &error);
+
+ if (error != NULL) {
@@ -1115,10 +1115,10 @@
+#endif /* __GDM_DOMAIN_OPTION_WIDGET_H */
diff --git a/gui/simple-greeter/gdm-domain-provider.c b/gui/simple-greeter/gdm-domain-provider.c
new file mode 100644
-index 0000000..2bd9189
+index 0000000..2924291
--- /dev/null
+++ b/gui/simple-greeter/gdm-domain-provider.c
-@@ -0,0 +1,478 @@
+@@ -0,0 +1,536 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2008 Hans Petter Jansson
@@ -1167,9 +1167,10 @@
+
+typedef enum
+{
-+ STATE_IDLE,
-+ STATE_QUERY_SEPARATOR,
-+ STATE_QUERY_DOMAINS
++ STATE_IDLE, /* Next state: STATE_QUERY_SEPARATOR */
++ STATE_QUERY_SEPARATOR, /* Next state: STATE_QUERY_OWN_DOMAIN or STATE_IDLE */
++ STATE_QUERY_OWN_DOMAIN, /* Next state: STATE_QUERY_TRUSTED_DOMAINS or STATE_IDLE */
++ STATE_QUERY_TRUSTED_DOMAINS, /* Next state: STATE_IDLE */
+}
+State;
+
@@ -1194,6 +1195,8 @@
+ GPid cmd_pid;
+ CmdEndFunc cmd_end_func;
+
++ gchar *domains_output;
++
+ guint callback_id;
+};
+
@@ -1383,6 +1386,9 @@
+{
+ GdmDomainProviderPrivate *priv = domain_provider->priv;
+
++ g_free (priv->domains_output);
++ priv->domains_output = NULL;
++
+ if (priv->something_changed) {
+ /* Emit changed signal */
+
@@ -1395,7 +1401,7 @@
+}
+
+static void
-+get_domains_end (GdmDomainProvider *domain_provider, gchar *output, gint status)
++get_trusted_domains_end (GdmDomainProvider *domain_provider, gchar *output, gint status)
+{
+ GdmDomainProviderPrivate *priv = domain_provider->priv;
+ GList *domains = NULL;
@@ -1405,6 +1411,11 @@
+ gchar **tokens;
+ gint i;
+
++ if (priv->domains_output) {
++ output = g_realloc (output, strlen (output) + strlen (priv->domains_output) + 1);
++ strcat (output, priv->domains_output);
++ }
++
+ tokens = g_strsplit_set (output, "\n\r", N_DOMAINS_MAX);
+
+ g_qsort_with_data (tokens,
@@ -1418,6 +1429,18 @@
+ if (!strlen (tokens [i]))
+ continue;
+
++ /* Ensure no duplicates */
++ if (i > 0 && !g_ascii_strcasecmp (tokens [i], tokens [i - 1]))
++ continue;
++
++ /* Ensure no builtin */
++ if (!g_ascii_strcasecmp (tokens [i], "BUILTIN"))
++ continue;
++
++ /* Ensure no local host name */
++ if (!g_ascii_strcasecmp (tokens [i], g_get_host_name ()))
++ continue;
++
+ domains = g_list_prepend (domains, tokens [i]);
+ }
+
@@ -1426,6 +1449,8 @@
+ domains = g_list_reverse (domains);
+ }
+
++ g_free (output);
++
+ old_domains = priv->domains;
+ priv->domains = domains;
+
@@ -1441,13 +1466,38 @@
+}
+
+static void
-+get_domains_begin (GdmDomainProvider *domain_provider)
++get_trusted_domains_begin (GdmDomainProvider *domain_provider)
++{
++ GdmDomainProviderPrivate *priv = domain_provider->priv;
++ const gchar * const cmd_args [] = { "wbinfo", "--trusted-domains", NULL };
++
++ if (async_spawn_and_read (domain_provider, cmd_args, get_trusted_domains_end))
++ priv->state = STATE_QUERY_TRUSTED_DOMAINS;
++ else
++ idle_begin (domain_provider);
++}
++
++static void
++get_own_domain_end (GdmDomainProvider *domain_provider, gchar *output, gint status)
++{
++ GdmDomainProviderPrivate *priv = domain_provider->priv;
++
++ if (status == 0 && output != NULL && *output)
++ priv->domains_output = output;
++
++ /* Next state */
++
++ get_trusted_domains_begin (domain_provider);
++}
++
++static void
++get_own_domain_begin (GdmDomainProvider *domain_provider)
+{
+ GdmDomainProviderPrivate *priv = domain_provider->priv;
-+ const gchar * const cmd_args [] = { "wbinfo", "--all-domains", NULL };
++ const gchar * const cmd_args [] = { "wbinfo", "--own-domain", NULL };
+
-+ if (async_spawn_and_read (domain_provider, cmd_args, get_domains_end))
-+ priv->state = STATE_QUERY_DOMAINS;
++ if (async_spawn_and_read (domain_provider, cmd_args, get_own_domain_end))
++ priv->state = STATE_QUERY_OWN_DOMAIN;
+ else
+ idle_begin (domain_provider);
+}
@@ -1460,15 +1510,18 @@
+ gchar *old_separator;
+
+ if (status == 0 && output != NULL) {
-+ gchar *p0;
++ gchar *p0, *p1;
+
+ p0 = strchr (output, '\n');
-+ if (!p0)
-+ p0 = strchr (output, '\r');
++ p1 = strchr (output, '\r');
++ if (!p0 || (p1 && p1 < p0))
++ p0 = p1;
+
+ if (p0 && p0 != output) {
+ *p0 = 0;
-+ separator = g_strdup (output);
++ separator = output;
++ } else {
++ g_free (output);
+ }
+ }
+
@@ -1483,7 +1536,7 @@
+ /* Next state */
+
+ if (priv->separator)
-+ get_domains_begin (domain_provider);
++ get_own_domain_begin (domain_provider);
+ else
+ idle_begin (domain_provider);
+}
@@ -1536,16 +1589,21 @@
+static void
+gdm_domain_provider_finalize (GObject *object)
+{
-+ GdmDomainProvider *domain_provider;
++ GdmDomainProvider *domain_provider;
++ GdmDomainProviderPrivate *priv;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GDM_IS_DOMAIN_PROVIDER (object));
+
+ domain_provider = GDM_DOMAIN_PROVIDER (object);
++ priv = domain_provider->priv;
+
+ /* Stop the state machine */
+ cmd_cleanup (domain_provider, NULL);
+
++ g_free (priv->domains_output);
++ priv->domains_output = NULL;
++
+ G_OBJECT_CLASS (gdm_domain_provider_parent_class)->finalize (object);
+}
+
@@ -1836,7 +1894,7 @@
#endif /* __GDM_GREETER_PANEL_H */
diff --git a/gui/simple-greeter/gdm-greeter-session.c b/gui/simple-greeter/gdm-greeter-session.c
-index 83375b2..fe85746 100644
+index 83375b2..251e7c8 100644
--- a/gui/simple-greeter/gdm-greeter-session.c
+++ b/gui/simple-greeter/gdm-greeter-session.c
@@ -38,6 +38,8 @@
@@ -1954,7 +2012,7 @@
}
static void
-@@ -236,13 +296,46 @@ on_select_layout (GdmGreeterSession *session,
+@@ -236,13 +296,39 @@ on_select_layout (GdmGreeterSession *session,
}
static void
@@ -1968,13 +2026,6 @@
+
+ if (text && strcmp (text, "__local") && strcmp (text, "__other"))
+ session->priv->domain = g_strdup (text);
-+
-+ domain_and_user = maybe_prepend_domain_to_user (session, session->priv->user);
-+
-+ gdm_greeter_client_call_select_user (session->priv->client,
-+ domain_and_user);
-+
-+ g_free (domain_and_user);
+}
+
+static void
@@ -2002,7 +2053,7 @@
}
static void
-@@ -251,6 +344,10 @@ on_cancelled (GdmGreeterLoginWindow *login_window,
+@@ -251,6 +337,10 @@ on_cancelled (GdmGreeterLoginWindow *login_window,
{
gdm_greeter_panel_hide_user_options (GDM_GREETER_PANEL (session->priv->panel));
gdm_greeter_client_call_cancel (session->priv->client);
@@ -2013,7 +2064,7 @@
}
static void
-@@ -300,6 +397,11 @@ toggle_panel (GdmGreeterSession *session,
+@@ -300,6 +390,11 @@ toggle_panel (GdmGreeterSession *session,
G_CALLBACK (on_select_session),
session);
@@ -2025,7 +2076,7 @@
gtk_widget_show (session->priv->panel);
} else {
gtk_widget_destroy (session->priv->panel);
-@@ -542,6 +644,8 @@ gdm_greeter_session_init (GdmGreeterSession *session)
+@@ -542,6 +637,8 @@ gdm_greeter_session_init (GdmGreeterSession *session)
G_CALLBACK (on_user_authorized),
session);
@@ -2034,7 +2085,7 @@
/* We want to listen for panel mnemonics even if the
* login window is focused, so we intercept them here.
*/
-@@ -563,6 +667,9 @@ gdm_greeter_session_finalize (GObject *object)
+@@ -563,6 +660,9 @@ gdm_greeter_session_finalize (GObject *object)
g_return_if_fail (greeter_session->priv != NULL);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org