summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn (J5) Palmieri <johnp@redhat.com>2006-11-02 23:56:48 +0000
committerJohn (J5) Palmieri <johnp@redhat.com>2006-11-02 23:56:48 +0000
commita157ec7f72839473113934fc12581645b421e6d9 (patch)
tree1b06a10ab6016bf5874fc0b682841735f0ec691d
parent547f1de555c28654e785b701c26fe20564b5805e (diff)
* bus/config-parser.c (service_dirs_find_dir): use
_dbus_list_get_next_link so we don't get stuck in an infinite loop (start_busconfig_child): move processing of standard_session_servicedirs tags here because they have no content (bus_config_parser_content): check we don't have content in standard_session_servicedirs tag * tools/Makefile.am: Make sure the /var/lib/dbus directory is created Packagers need to own this directory
-rw-r--r--ChangeLog14
-rw-r--r--bus/config-parser.c29
-rw-r--r--tools/Makefile.am4
3 files changed, 33 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 59006224..bd9e412b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+ * bus/config-parser.c (service_dirs_find_dir): use
+ _dbus_list_get_next_link so we don't get stuck in an infinite loop
+ (start_busconfig_child): move processing of standard_session_servicedirs
+ tags here because they have no content
+ (bus_config_parser_content): check we don't have content in
+ standard_session_servicedirs tag
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/Makefile.am: Make sure the /var/lib/dbus directory is created
+ Packagers need to own this directory
+
+2006-11-02 John (J5) Palmieri <johnp@redhat.com>
+
* tools/run-with-tmp-session-bus.sh: fixed script to replace the
<standard_session_servicedirs> tag with a <sevicedir> tag that
points to the test service directory
diff --git a/bus/config-parser.c b/bus/config-parser.c
index 70bc441d..dbffd3ff 100644
--- a/bus/config-parser.c
+++ b/bus/config-parser.c
@@ -297,7 +297,7 @@ service_dirs_find_dir (DBusList **service_dirs,
_dbus_assert (dir != NULL);
- for (link = *service_dirs; link; link = link->next)
+ for (link = *service_dirs; link; link = _dbus_list_get_next_link(service_dirs, link))
{
const char *link_dir;
@@ -805,6 +805,10 @@ start_busconfig_child (BusConfigParser *parser,
}
else if (strcmp (element_name, "standard_session_servicedirs") == 0)
{
+ DBusList *link;
+ DBusList *dirs;
+ dirs = NULL;
+
if (!check_no_attributes (parser, "standard_session_servicedirs", attribute_names, attribute_values, error))
return FALSE;
@@ -814,6 +818,15 @@ start_busconfig_child (BusConfigParser *parser,
return FALSE;
}
+ if (!_dbus_get_standard_session_servicedirs (&dirs))
+ {
+ BUS_SET_OOM (error);
+ return FALSE;
+ }
+
+ while ((link = _dbus_list_pop_first_link (&dirs)))
+ service_dirs_append_link_unique_or_free (&parser->service_dirs, link);
+
return TRUE;
}
else if (strcmp (element_name, "servicedir") == 0)
@@ -2191,6 +2204,7 @@ bus_config_parser_content (BusConfigParser *parser,
case ELEMENT_ALLOW:
case ELEMENT_DENY:
case ELEMENT_FORK:
+ case ELEMENT_STANDARD_SESSION_SERVICEDIRS:
case ELEMENT_SELINUX:
case ELEMENT_ASSOCIATE:
if (all_whitespace (content))
@@ -2352,19 +2366,6 @@ bus_config_parser_content (BusConfigParser *parser,
}
}
break;
- case ELEMENT_STANDARD_SESSION_SERVICEDIRS:
- {
- DBusList *link;
- DBusList *dirs;
- dirs = NULL;
-
- if (!_dbus_get_standard_session_servicedirs (&dirs))
- goto nomem;
-
- while ((link = _dbus_list_pop_first_link (&dirs)))
- service_dirs_append_link_unique_or_free (&parser->service_dirs, link);
- }
- break;
case ELEMENT_SERVICEDIR:
{
diff --git a/tools/Makefile.am b/tools/Makefile.am
index c6814e9d..9fad7a78 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -41,3 +41,7 @@ man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1 dbus-
EXTRA_DIST = $(man_MANS) run-with-tmp-session-bus.sh
CLEANFILES = \
run-with-tmp-session-bus.conf
+
+#create the /var/lib/data directory for dbus-uuidgen
+localstatelibdir = $(localstatedir)/lib/dbus
+localstatelib_DATA =