* 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
This commit is contained in:
John (J5) Palmieri 2006-11-02 23:56:48 +00:00
parent 547f1de555
commit a157ec7f72
3 changed files with 33 additions and 14 deletions

View file

@ -1,3 +1,17 @@
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

View file

@ -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:
{

View file

@ -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 =