auto-start problem in v0.50

Kimmo.Hamalainen at nokia.com Kimmo.Hamalainen at nokia.com
Tue Nov 8 08:11:14 PST 2005


It was my mistake -- I was running the daemon with 'fakeroot', so the
deamon thought that it's running as 'root' and refused to autostart
the service as root.

-Kimmo

> -----Original Message-----
> From: dbus-bounces at lists.freedesktop.org
> [mailto:dbus-bounces at lists.freedesktop.org]
> Sent: 08 November, 2005 17:23
> To: johnp at redhat.com
> Cc: dbus at lists.freedesktop.org
> Subject: RE: auto-start problem in v0.50
> 
> 
> 
> But it does not start the service at all -- not even as 'messagebus'
> user. Even if I run the bus as a normal user. Maybe it needs 'root'
> access all the time, and autostart fails always if it's not root...
> 
> > -----Original Message-----
> > From: ext John (J5) Palmieri [mailto:johnp at redhat.com]
> > Sent: 08 November, 2005 17:12
> > To: Hamalainen Kimmo (Nokia-M/Helsinki)
> > Cc: dbus at lists.freedesktop.org
> > Subject: Re: auto-start problem in v0.50
> > 
> > 
> > Are you autostarting from the system bus?  You can't do that 
> > unless you
> > run the system bus as root otherwise everything gets started as the
> > messagebus user (or dbus user on fedora).
> > 
> > On Tue, 2005-11-08 at 15:15 +0200, Kimmo.Hamalainen at nokia.com wrote:
> > > Hi,
> > > 
> > > I have an interesting problem with D-BUS v0.50. A service 
> > is authenticated
> > > and can talk normally in the system bus if I start it 
> > manually, but if I
> > > try to auto-start (activate) it, the authentication fails. 
> > It seems that
> > > the service sends different credentials when it is 
> > auto-started. The result
> > > is the same whether I use DBUS_BUS_SYSTEM or 
> DBUS_BUS_STARTER in the
> > > service, or whether I run the bus as 'messagebus' or as my 
> > user name.
> > > 
> > > I'm porting software from v0.23, so maybe there's something 
> > additional needed
> > > to configuration files?
> > > 
> > > Partial debug output from the daemon follows.
> > > 
> > > -Kimmo
> > > 
> > > ------ manual starting (succeeds): ---------
> > > 
> > > 17058: Connection 0x80977f0 authentication expires in 29999 
> > milliseconds
> > > 17058: Enabled expire timeout with interval 29999
> > > 17058: _dbus_connection_handle_watch start
> > > 17058:   LOCK: _dbus_connection_handle_watch
> > > 17058:   UNLOCK: _dbus_connection_acquire_io_path
> > > 17058: _dbus_connection_acquire_io_path locking io_path_mutex
> > > 17058: _dbus_connection_acquire_io_path start 
> > connection->io_path_acquired = 0 timeout = -1
> > > 17058: _dbus_connection_acquire_io_path end 
> > connection->io_path_acquired = 1 we_acquired = 1
> > > 17058: _dbus_connection_acquire_io_path unlocking io_path_mutex
> > > 17058:   LOCK: _dbus_connection_acquire_io_path
> > > 17058: handling read watch 0x8097c38 flags = 1
> > > 17058: read credentials byte
> > > 17058: Credentials:  pid 17876  uid 1000  gid 1000
> > > 17058:  server auth state: waiting for input
> > > 17058:  read 24 bytes in auth phase
> > > 17058: server: got command "AUTH EXTERNAL 31303030"
> > > 17058: server: Trying mechanism EXTERNAL
> > > 17058: server: data: '1000'
> > > 17058: server: going from state WaitingForAuth to state 
> > WaitingForBegin
> > > 17058: server: authenticated client with UID 1000 matching 
> > socket credentials UID 1000
> > > 17058:  server auth state: bytes to send
> > > 17058: check_read_watch: fd = 7
> > > 17058:   setting read watch enabled = 0
> > > 17058:   UNLOCK: protected_change_watch
> > > 17058:   LOCK: protected_change_watch
> > > 17058: check_write_watch(): needed = 1 on connection 
> > 0x80977f0 watch 0x8097970 fd = 7 outgoing messages exist 0
> > > 17058:   UNLOCK: protected_change_watch
> > > 17058:   LOCK: protected_change_watch
> > > 17058: do_reading: fd = 7
> > > 17058: _dbus_connection_release_io_path locking io_path_mutex
> > > 17058: _dbus_connection_release_io_path start 
> > connection->io_path_acquired = 1
> > > 17058: _dbus_connection_release_io_path unlocking io_path_mutex
> > > 17058: _dbus_connection_handle_watch middle
> > > 17058: dispatch status = complete is_connected = 1
> > > 
> > > --------- activation (fails): -------------
> > > 
> > > 18442: Credentials:  pid 18576  uid 1000  gid 1000
> > > 18442:  server auth state: waiting for input
> > > 18442: check_read_watch: fd = 9
> > > 18442:   setting read watch enabled = 1
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: check_write_watch(): needed = 0 on connection 
> > 0x809b300 watch 0x809b0d0 f
> > > d = 9 outgoing messages exist 0
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: do_reading: fd = 9
> > > 18442: _dbus_connection_release_io_path locking io_path_mutex
> > > 18442: _dbus_connection_release_io_path start 
> > connection->io_path_acquired = 1
> > > 18442: _dbus_connection_release_io_path unlocking io_path_mutex
> > > 18442: _dbus_connection_handle_watch middle
> > > 18442: dispatch status = complete is_connected = 1
> > > 18442:   UNLOCK: 
> _dbus_connection_update_dispatch_status_and_unlock
> > > 18442:   LOCK: dbus_connection_unref
> > > 18442:   UNLOCK: dbus_connection_unref
> > > 18442: _dbus_connection_handle_watch end
> > > 18576: wrote credentials byte
> > > 18576:  client auth state: bytes to send
> > > 18442: _dbus_connection_handle_watch start
> > > 18442:   LOCK: _dbus_connection_handle_watch
> > > 18442:   UNLOCK: _dbus_connection_acquire_io_path
> > > 18442: _dbus_connection_acquire_io_path locking io_path_mutex
> > > 18442: _dbus_connection_acquire_io_path start 
> > connection->io_path_acquired = 0 t
> > > imeout = -1
> > > 18442: _dbus_connection_acquire_io_path end 
> > connection->io_path_acquired = 1 we_
> > > acquired = 1
> > > 18442: _dbus_connection_acquire_io_path unlocking io_path_mutex
> > > 18442:   LOCK: _dbus_connection_acquire_io_path
> > > 18442: handling read watch 0x809b0f8 flags = 1
> > > 18442:  server auth state: waiting for input
> > > 18442:  read 18 bytes in auth phase
> > > 18442: server: got command "AUTH EXTERNAL 30"
> > > 18442: server: Trying mechanism EXTERNAL
> > > 18442: server: data: '0'
> > > 18442: server: credentials uid=1000 gid=1000 do not allow 
> > uid=0 gid=4294967295
> > > 18442: server: Shutting down mechanism EXTERNAL
> > > 18442: server: going from state WaitingForAuth to state 
> > WaitingForAuth
> > > 18442:  server auth state: bytes to send
> > > 18442: check_read_watch: fd = 9
> > > 18442:   setting read watch enabled = 0
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: check_write_watch(): needed = 1 on connection 
> > 0x809b300 watch 0x809b0d0 f
> > > d = 9 outgoing messages exist 0
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: do_reading: fd = 9
> > > 18442: _dbus_connection_release_io_path locking io_path_mutex
> > > 18442: _dbus_connection_release_io_path start 
> > connection->io_path_acquired = 1
> > > 18442: _dbus_connection_release_io_path unlocking io_path_mutex
> > > 18442: _dbus_connection_handle_watch middle
> > > 18442: dispatch status = complete is_connected = 1
> > > 18442:   UNLOCK: 
> _dbus_connection_update_dispatch_status_and_unlock
> > > 18442:   LOCK: dbus_connection_unref
> > > 18442:   UNLOCK: dbus_connection_unref
> > > 18442: _dbus_connection_handle_watch end
> > > 18442: _dbus_connection_handle_watch start
> > > 18442:   LOCK: _dbus_connection_handle_watch
> > > 18442:   UNLOCK: _dbus_connection_acquire_io_path
> > > 18442: _dbus_connection_acquire_io_path locking io_path_mutex
> > > 18442: _dbus_connection_acquire_io_path start 
> > connection->io_path_acquired = 0 t
> > > imeout = -1
> > > 18442: _dbus_connection_acquire_io_path end 
> > connection->io_path_acquired = 1 we_
> > > acquired = 1
> > > 18442: _dbus_connection_acquire_io_path unlocking io_path_mutex
> > > 18442:   LOCK: _dbus_connection_acquire_io_path
> > > 18442: handling write watch, have_outgoing_messages = 0
> > > 18442:  server auth state: bytes to send
> > > 18442: server: Sent 36 bytes of: REJECTED EXTERNAL 
> DBUS_COOKIE_SHA1
> > > 
> > > 18442:  server auth state: waiting for input
> > > 18442: check_read_watch: fd = 9
> > > 18442:   setting read watch enabled = 1
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: check_write_watch(): needed = 0 on connection 
> > 0x809b300 watch 0x809b0d0 f
> > > d = 9 outgoing messages exist 0
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: Not authenticated, not writing anything
> > > 18442: check_write_watch(): needed = 0 on connection 
> > 0x809b300 watch 0x809b0d0 f
> > > d = 9 outgoing messages exist 0
> > > 18442:   UNLOCK: protected_change_watch
> > > 18442:   LOCK: protected_change_watch
> > > 18442: _dbus_connection_release_io_path locking io_path_mutex
> > > 18442: _dbus_connection_release_io_path start 
> > connection->io_path_acquired = 1
> > > 18442: _dbus_connection_release_io_path unlocking io_path_mutex
> > > 18442: _dbus_connection_handle_watch middle
> > > 18442: dispatch status = complete is_connected = 1
> > > 18442:   UNLOCK: 
> _dbus_connection_update_dispatch_status_and_unlock
> > > 18442:   LOCK: dbus_connection_unref
> > > 18442:   UNLOCK: dbus_connection_unref
> > > 18442: _dbus_connection_handle_watch end
> > > 18576: client: Sent 18 bytes of: AUTH EXTERNAL 30
> > > 
> > > 18576:  client auth state: waiting for input
> > > 18576: check_read_watch: fd = 3
> > > 18576:   setting read watch enabled = 1
> > > 18576:   UNLOCK: protected_change_watch
> > > 18576:   LOCK: protected_change_watch
> > > 18576: check_write_watch(): needed = 0 on connection 
> > 0x804b5f8 watch 0x804b298 f
> > > d = 3 outgoing messages exist 1
> > > 18576:   UNLOCK: protected_change_watch
> > > 18576:   LOCK: protected_change_watch
> > > 18576: Not authenticated, not writing anything
> > > 18576: check_write_watch(): needed = 0 on connection 
> > 0x804b5f8 watch 0x804b298 f
> > > d = 3 outgoing messages exist 1
> > > 18576:   UNLOCK: protected_change_watch
> > > 18576:   LOCK: protected_change_watch
> > > 18576:  ... leaving do_iteration()
> > > 18576: _dbus_transport_do_iteration end
> > > 18576: _dbus_connection_release_io_path locking io_path_mutex
> > > 18576: _dbus_connection_release_io_path start 
> > connection->io_path_acquired = 1
> > > 18576: _dbus_connection_release_io_path unlocking io_path_mutex
> > > 18576: _dbus_connection_do_iteration_unlocked end
> > > 18576: dbus_connection_send_with_reply middle
> > > 18576: dispatch status = complete is_connected = 1
> > > 18576:   UNLOCK: 
> _dbus_connection_update_dispatch_status_and_unlock
> > > 18576:   LOCK: dbus_connection_unref
> > > 18576:   UNLOCK: dbus_connection_unref
> > > 18576:   LOCK: dbus_connection_flush
> > > 18576: doing iteration in dbus_connection_flush
> > > 18576: _dbus_connection_do_iteration_unlocked start
> > > 18576:   UNLOCK: _dbus_connection_acquire_io_path
> > > 18576: _dbus_connection_acquire_io_path locking io_path_mutex
> > > 18576: _dbus_connection_acquire_io_path start 
> > connection->io_path_acquired = 0 t
> > > imeout = -1
> > > 18576: _dbus_connection_acquire_io_path end 
> > connection->io_path_acquired = 1 we_
> > > acquired = 1
> > > 18576: _dbus_connection_acquire_io_path unlocking io_path_mutex
> > > 18576:   LOCK: _dbus_connection_acquire_io_path
> > > 18576: Transport iteration flags 0x7 timeout -1 connected = 1
> > > 18576:  iteration flags = readwrite timeout = -1 read_watch 
> > = 0x804b2c0 write_wa
> > > tch = 0x804b298 fd = 3
> > > 18576: unlock unix_do_iteration pre poll
> > > 18576:   UNLOCK: _dbus_connection_unlock
> > > 18576: lock unix_do_iteration post poll
> > > 18576:   LOCK: _dbus_connection_lock
> > > 18576: in iteration, need_read=1 need_write=0
> > > 18576:  client auth state: waiting for input
> > > 18576:  read 36 bytes in auth phase
> > > 18576: client: got command "REJECTED EXTERNAL DBUS_COOKIE_SHA1"
> > > 18576: client: Adding mechanism EXTERNAL to list we will try
> > > 18576: client: Adding mechanism DBUS_COOKIE_SHA1 to list 
> we will try
> > > 18576: client: Shutting down mechanism EXTERNAL
> > > 18576: client: going from state WaitingForData to state 
> > WaitingForData
> > > 18576: client: Trying mechanism EXTERNAL
> > > 18576:  client auth state: bytes to send
> > > 18576: check_read_watch: fd = 3
> > > 18576:   setting read watch enabled = 0
> > > 18576:   UNLOCK: protected_change_watch
> > > 18576:   LOCK: protected_change_watch
> > > 18576: check_write_watch(): needed = 1 on connection 
> > 0x804b5f8 watch 0x804b298 f
> > > d = 3 outgoing messages exist 1
> > > 18576:   UNLOCK: protected_change_watch
> > > 18576:   LOCK: protected_change_watch
> > > 18576: do_reading: fd = 3
> > > 18576: check_write_watch(): needed = 1 on connection 
> > 0x804b5f8 watch 0x804b298 f
> > > d = 3 outgoing messages exist 1
> > > 18576:   UNLOCK: protected_change_watch
> > > ...
> > > _______________________________________________
> > > dbus mailing list
> > > dbus at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/dbus
> > -- 
> > John (J5) Palmieri <johnp at redhat.com>
> > 
> > 
> _______________________________________________
> dbus mailing list
> dbus at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dbus
> 


More information about the dbus mailing list