diff options
| -rw-r--r-- | ChangeLog | 14 | ||||
| -rw-r--r-- | bus/config-parser.c | 29 | ||||
| -rw-r--r-- | tools/Makefile.am | 4 | 
3 files changed, 33 insertions, 14 deletions
| @@ -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 = | 
