summaryrefslogtreecommitdiff
path: root/open_issues/dbus.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'open_issues/dbus.mdwn')
-rw-r--r--open_issues/dbus.mdwn83
1 files changed, 79 insertions, 4 deletions
diff --git a/open_issues/dbus.mdwn b/open_issues/dbus.mdwn
index 19f1c6ad..2f02579e 100644
--- a/open_issues/dbus.mdwn
+++ b/open_issues/dbus.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -10,6 +10,81 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_hurd]]
-The dbus problems are due to missing scm credentials [[sendmsg scm creds]] and socket credentials
-[[pflocal socket credentials for local sockets]]. There was also a problem with short timeout in
-select(), but that has been solved in Debian by setting a minimum timeout of 1ms.
+The dbus problems are due to missing scm credentials [[sendmsg_scm_creds]] and socket credentials
+[[pflocal_socket_credentials_for_local_sockets]]. There was also a problem with short timeout in
+[[select]], but that has been solved in Debian by setting a minimum timeout of 1ms.
+
+---
+
+IRC, freenode, #hurd, 2011-11-26:
+
+ <antrik> BTW, how much effort is necessary to fix dbus?
+ <pinotree> basically, have pflocal know who's the sender
+ (pid/uid/gid/groups) in the socket send op
+
+IRC, freenode, #hurd, 2011-12-16:
+
+ <braunr> pinotree: what's the problem with dbus ?
+ <pinotree> braunr: select() returning 0 changed fd's with very short (eg <
+ 1ms) timeouts when there are actually events;
+
+[[select]].
+
+ <pinotree> and missing socket credentials
+
+[[sendmsg_scm_creds]].
+
+ <braunr> oh
+ <braunr> which socket creds interface ?
+ <pinotree> bsd, i.e. with SCM_CREDENTIALS payload for cmsg on
+ {recv,send}msg()
+ <braunr> ok
+ <braunr> SCM_RIGHTS too ?
+ <braunr> the select issue seems weird though
+ <pinotree> hm no, that's for passing fd's to other processes
+ <braunr> is it specific to pflocal or does dbus use pfinet too ?
+ <pinotree> iirc on very short timeouts the application has no time waiting
+ for the reply of servers
+ <braunr> i see
+ <pinotree> braunr: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=79358
+ <braunr> thanks
+ <pinotree> (the interesting messages are from #53 and on)
+ <braunr> 2000 eh ... :)
+ <braunr> hm i agree with neal, i don't understand why the timeout is given
+ to the kernel as part of the mach_msg call
+
+IRC, freenode, #hurd, 2011-12-20:
+
+ <braunr> hm, i don't see any occurrence of SCM_CREDENTIALS in dbus
+ <braunr> only SCM_RIGHTS
+ <pinotree> braunr: yes, that one
+ <braunr> oh
+ <braunr> i thought you said the opposite last time
+ <pinotree> dbus/dbus-sysdeps-unix.c, write_credentials_byte and
+ _dbus_read_credentials_socket (with #define HAVE_CMSGCRED)
+ <braunr> hm
+ <braunr> which version ?
+ <braunr> i don't see anything in 1.4.16
+ <pinotree> 1.4.16
+ <braunr> grmbl
+ <braunr> ah, i see
+ <braunr> SCM_CREDS
+ <pinotree> if you want, i have a simplier .c source with it
+ <braunr> no i'm just gathering info
+ <pinotree> ok
+ <braunr> what's the deal with SCM_CREDS and SCM_CREDENTIALS ?
+ <braunr> bsd vs sysv ?
+ <braunr> oh, http://lists.debian.org/debian-hurd/2002/03/msg00135.html
+ <braunr> so we actually do want both SCM_CREDS and SCM_RIGHTS for debus
+ <braunr> dbus
+ <pinotree> SCM_RIGHTS is a different matter, it is for passing fd's
+ <braunr> yes
+ <braunr> but it's used by dbus
+ <braunr> so if we can get it, it should help too
+ <pinotree> there's a preliminary patch for it done by emilio time ago, and
+ iirc it's applied to debian's glibc
+ <braunr> ah, he changed the libc
+ <braunr> right, that's the only sane way
+ <pinotree> iirc roland didn't like one or more parts of it (but i could be
+ wrong)
+ <braunr> ok