summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-04-08 04:46:05 +0000
committerHavoc Pennington <hp@redhat.com>2003-04-08 04:46:05 +0000
commita162febe6746269f51b3a16db5f6fb240001f828 (patch)
tree1ea8de21fbf7f91636499f6d08207d7a02db60fb
parentfe22b2194d53061fefe64d48ff6a53e6a762279d (diff)
2003-04-07 Havoc Pennington <hp@pobox.com>
* bus/driver.c (bus_driver_handle_acquire_service): return an error if you try to acquire a service that starts with ':'
-rw-r--r--ChangeLog5
-rw-r--r--bus/driver.c10
-rw-r--r--dbus/dbus-mainloop.c9
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 <hp@pobox.com>
+
+ * 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 <hp@redhat.com>
* 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
{