bug with 5 code lines
Julien Isorce
julien.isorce at gmail.com
Sun Nov 22 07:21:36 PST 2009
Hi,
I saw what happen since 2 days (bugs, patch etc..)
Do you plan to update the binaries and dev packages here ?
http://sourceforge.net/projects/windbus/files/
because this url is reported here:
http://www.freedesktop.org/wiki/Software/dbus
Sincerely
Julien
2009/11/20 Ralf Habacker <ralf.habacker at freenet.de>
> Ralf Habacker schrieb:
>
> Julien Isorce schrieb:
>>
>>> Hi,
>>>
>>> Thx for the reply.
>>>
>>> I tried what you suggested:
>>>
>>> 2 cases, the first works, the second (the one I want) does not work:
>>>
>>> First case:
>>> ---------------------------------
>>> I run dbus-daemon --system in command line so the user is Administrator.
>>> In other cmd, I run dbus-send --print-reply --system
>>> --dest="org.freedesktop.DBus" /org/freedesktop /DBus/Introspectable
>>> org.freedesktop.DBus.Introspectable.Introspect
>>> I got a reply and it's ok.
>>> I attached the log of the server to this mail:
>>> dbus-daemon_administrator_classic.log
>>> ---------------------------------
>>>
>>>
>>> Second case:
>>> ---------------------------------
>>>
>> I assume in this case you are using DBUS_COOKIE_SHA1 auth
>>
>>> I run :
>>> cygrunsrv -I dbus-daemon -i --path
>>> /cygdrive/c/dbus/dbus-exe/bin/dbus-daemon.exe --chdir
>>> /cygdrive/c/dbus/dbus-exe --args --system --env DBUS_VERBOSE=1 --env
>>> DBUS_TEST_HOMEDIR=C:\dbus\dbus-exe
>>> then: cygrunsrv -S dbus-daemon
>>> I can then see the dbus-daemon.exe process in task manager and the user
>>> name is SYSTEM
>>>
>>> In other cmd, I run dbus-send --print-reply --system
>>> --dest="org.freedesktop.DBus" /org/freedesktop /DBus/Introspectable
>>> org.freedesktop.DBus.Introspectable.Introspect
>>> The error from the client is: dbus-send.log attached to this mail
>>>
>> the second log contains the following entry:
>>
>> 272: Client authorized as SID 'S-1-5-18' but our SID is 'S-1-5-18',
>> disconnecting
>>
>> This message coms from dbus/dbus-transport.c::auth_via_default_rules (for
>> the complete code see
>> http://cgit.freedesktop.org/dbus/dbus/tree/dbus/dbus-transport.c)
>>
>> The default auth rules are [1]:
>>
>> /* By default, connection is allowed if the client is 1) root or 2)
>> * has the same UID as us or 3) anonymous is allowed.
>> */
>> if (transport->allow_anonymous ||
>> _dbus_credentials_get_unix_uid (auth_identity) == 0 ||
>> _dbus_credentials_same_user (our_identity,
>> auth_identity))
>> {
>>
>> Because none of the condition is true DBUS_COOKIE_SHA1 auth fails (see the
>> code snippet below)
>>
>> else
>> {
>> if
>> (_dbus_credentials_include(our_identity,DBUS_CREDENTIAL_WINDOWS_SID))
>> _dbus_verbose ("Client authorized as SID '%s'"
>> " but our SID is '%s', disconnecting\n",
>> _dbus_credentials_get_windows_sid(our_identity),
>> _dbus_credentials_get_windows_sid(our_identity));
>> else
>>
>> _dbus_transport_disconnect (transport);
>> allow = FALSE;
>>
>> BTW: The code shows also a bug - for the client the server sid is also
>> printed. I found this bug in all available dbus implementations and should
>> be fixed -> patch will follow
>>
>> If you have the dbus source you may comment out the following line from
>> [1]
>>
>> _dbus_credentials_same_user (our_identity,
>> auth_identity))
>>
>> Sorry, I was wrong with this patch it is required to not comment out the
> above mentioned line, instead the following lines should be used (both
> our_identity)
>
>
> _dbus_credentials_same_user (our_identity,
> our_identity))
>
>
> Regards
> Ralf
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/dbus/attachments/20091122/c9f9871a/attachment.html
More information about the dbus
mailing list