From a162febe6746269f51b3a16db5f6fb240001f828 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Tue, 8 Apr 2003 04:46:05 +0000 Subject: 2003-04-07 Havoc Pennington * bus/driver.c (bus_driver_handle_acquire_service): return an error if you try to acquire a service that starts with ':' --- ChangeLog | 5 +++++ bus/driver.c | 10 ++++++++++ dbus/dbus-mainloop.c | 9 ++++++--- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8528c672..d7542dc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-04-07 Havoc Pennington + + * bus/driver.c (bus_driver_handle_acquire_service): return an + error if you try to acquire a service that starts with ':' + 2003-04-07 Havoc Pennington * doc/dbus-specification.sgml: require that base service names diff --git a/bus/driver.c b/bus/driver.c index e01949fc..814e32a6 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -459,6 +459,16 @@ bus_driver_handle_acquire_service (DBusConnection *connection, _dbus_verbose ("Trying to own service %s with flags 0x%x\n", name, flags); + if (*name == ':') + { + /* Not allowed; only base services can start with ':' */ + dbus_set_error (error, DBUS_ERROR_ACCESS_DENIED, + "Cannot acquire a service starting with ':' such as \"%s\"", + name); + + goto out; + } + retval = FALSE; reply = NULL; diff --git a/dbus/dbus-mainloop.c b/dbus/dbus-mainloop.c index 635bd58e..b1706fe7 100644 --- a/dbus/dbus-mainloop.c +++ b/dbus/dbus-mainloop.c @@ -373,13 +373,16 @@ check_timeout (unsigned long tv_sec, if (sec > interval_seconds || (sec == interval_seconds && msec > interval_milliseconds)) { - /* The system time has been set backwards, reset the timeout */ + _dbus_verbose ("System clock went backward interval_seconds %ld interval_msecs %ld sec %ld msec %ld last_tv_sec %lu last_tv_usec %lu tv_sec %lu tv_usec %lu\n", + interval_seconds, interval_milliseconds, sec, msec, tcb->last_tv_sec, + tcb->last_tv_usec, tv_sec, tv_usec); + + /* The system time has been set backwards, reset the timeout */ + tcb->last_tv_sec = tv_sec; tcb->last_tv_usec = tv_usec; msec = MIN (_DBUS_INT_MAX, interval); - - _dbus_verbose ("System clock went backward\n"); } else { -- cgit