init: make some D-Bus methods and all D-Bus properties public

Bug #392502 reported by JohnFlux
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
upstart
Fix Released
Wishlist
Scott James Remnant (Canonical)

Bug Description

It would be useful to leave the following dbus functions as root-only:
   com.ubuntu.Upstart.ReloadConfiguration
   com.ubuntu.Upstart.EmitEvent
   com.ubuntu.Upstart.Job.Start
   com.ubuntu.Upstart.Job.Stop
   com.ubuntu.Upstart.Job.Restart
   com.ubuntu.Upstart.Instance.Start
   com.ubuntu.Upstart.Instance.Stop
   com.ubuntu.Upstart.Instance.Restart
   org.freedesktop.DBus.Properties.Set

But make the following getter functions as viewable by anybody:
   com.ubuntu.Upstart.GetJobByName
   com.ubuntu.Upstart.GetAllJobs
   com.ubuntu.Upstart.Job.GetInstance
   com.ubuntu.Upstart.Job.GetInstanceByName
   com.ubuntu.Upstart.Job.GetAllInstances
   org.freedesktop.DBus.Properties.Get
   org.freedesktop.DBus.Properties.GetAll
   org.freedesktop.DBus.Introspectable.Introspect

Perhaps this fits into the policy kit work

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

The above represents my opinion on IRC

Changed in upstart:
importance: Undecided → Wishlist
status: New → Triaged
summary: - Make dbus getter functions public
+ init: make some D-Bus methods and all D-Bus properties public
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Since we support Introspection publically, this makes sense - you can divine the job and instance names, and their relationships, from the output anyway so it makes no sense to hide the methods to lookup object paths properly.

Then it doesn't make any sense to have the property Get/GetAll methods private either.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

This change has been committed to trunk

Changed in upstart:
status: Triaged → Fix Committed
Changed in upstart:
milestone: none → 0.6.0
Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :
Download full text (6.7 KiB)

This has been fixed in Upstart 0.6.0.

0.6.0 2009-07-09 "How appropriate, you fight like a cow"

 * The licence for Upstart has been changed back to version 2 of the
   GNU GPL.

 * D-Bus 1.2.15 is now required, this is the current GIT HEAD
   pending a 1.2.16 release.

 * Configuration paths have changed. Global configuration now
   resides in "/etc/init.conf" while jobs are now configured in
   "/etc/init"

 * Job configuration filenames must now end in ".conf"

 * Default configuration files are now supplied in the "conf"
   sub-directory of the source, and installed into "/etc/init".

   These match the Debian/Ubuntu sysvinit configuration so may
   require some tweaking for other distributions, but provide an
   excellent base.

   The old example-jobs tarballs are deprecated.

 * The D-Bus interface remains unstable, to reflect this the current
   interface name has changed to "com.ubuntu.Upstart0_6" and the
   name of the job and instance interfaces have changed to match.

 * The "EmitEvent" D-Bus method gains a wait argument, when given
   as TRUE (the recommended setting) the method call will be blocked
   until all effects of the event have finished. When FALSE the
   method call will return once the event has been queued.

 * The "Start", "Stop" and "Restart" D-Bus methods of jobs and
   instances gain a similar wait argument.

 * The Upstart D-Bus object now has "version" and "log_priority"
   properties. The former is to obtain the version of the init daemon,
   the latter allows you to obtain and change the logging priority.

 * Job D-Bus objects now have "name", "description", "author" and
   "version" properties to obtain the job name and the contents of
   the equivalent job file fields for the others.

 * Instance D-Bus objects now have "name", "goal", "state" and
   "processes" properties to obtain the instance name, goal, state
   and list of running processes and their pids respectively.

 * The default D-Bus security policy now permits use of the "Get"
   methods by all users, including obtaining values of properties.

 * initctl has been rewritten with functionality more along the
   lines of Upstart 0.3.x than before; since many distributions are
   still shipping 0.3.x the summary of changes for the tool reflects
   both changes from 0.3.x and 0.5.x

 * The global "-p"/"--pid" argument has been dropped, since
   communication is over D-Bus. New "--system" and "--dest" arguments
   have been added to force communication over the system bus, and
   specify the destination, instead of using the private socket (this
   is the default when run as non-root to permit "list" and "status"
   to work for ordinary users).

 * The "-i"/"--id" and "--show-ids" options to commands have been
   dropped since jobs no longer have ids.

 * Since instances may now have names, these will be displayed in
   brackets after the job name when one is present. The output of
   the goal and state are now expressed as "start/running" instead
   of "(start) running" to disambiguate.

 * initctl "start" and "stop" now only output the final state of
   the job, not inte...

Read more...

Changed in upstart:
assignee: nobody → Scott James Remnant (scott)
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.