Just as a quick follow-up, I've put the two code samples up on github:

https://github.com/mikebrady/dbus-example 
<https://github.com/mikebrady/dbus-example> -- this uses the regular dbus1 
library and works on Linux and Cygwin.
https://github.com/mikebrady/gdbus-example 
<https://github.com/mikebrady/gdbus-example> -- this uses the GDbus library 
from GIO and works in Linux but not in Cygwin.


Best wishes
Mike


> On 22 Oct 2019, at 15:07, Mike Brady <mikebr...@eircom.net> wrote:
> 
> Hello again.
> 
> I've returned to this continuing problem and come up with a short piece of 
> code which seems to exemplify this problem. It works in Linux and doesn't 
> work in Cygwin.
> 
> Basically, the code is an attempt to get a "name" on the D-Bus "system bus" 
> which could be used to provide a system-wide service using the D-Bus IPC 
> protocol.
> 
> The attempt to get a name succeeds on Linux (Ubuntu 19.04) and fails on 
> Cygwin (3.0.7). The code uses the high-level GDbus interface that is part of 
> GIO (https://developer.gnome.org/gio/stable/ch01.html 
> <https://developer.gnome.org/gio/stable/ch01.html>).
> 
> Another piece of sample code that uses the regular D-Bus library 
> (libdbus1-devel in Cygwin) seems to work perfectly, which seems to me to 
> suggest that whatever this probelm is, it is not a security issue.
> 
> Both of these samples are set up as automake projects and include config and 
> policy files. I'd be happy to share or publish them wherever convenient...
> 
> Regards
> Mike
> 
> 
>> On 22 Feb 2019, at 09:55, Corinna Vinschen <corinna-cyg...@cygwin.com 
>> <mailto:corinna-cyg...@cygwin.com>> wrote:
>> 
>> Hey Mike,
>> 
>> On Feb 21 16:56, Mike Brady wrote:
>>> Hello again. Further to the rather vague email below, here is a link to 
>>> what I did to install Shairport Sync on a fresh Cygwin installation: 
>>> 
>>> https://github.com/mikebrady/shairport-sync/blob/development/CYGWIN.md 
>>> <https://github.com/mikebrady/shairport-sync/blob/development/CYGWIN.md> 
>>> <https://github.com/mikebrady/shairport-sync/blob/development/CYGWIN.md 
>>> <https://github.com/mikebrady/shairport-sync/blob/development/CYGWIN.md>>
>>> 
>>> Regards
>>> Mike
>>> 
>>> 
>>>> On 20 Feb 2019, at 21:50, Mike Brady <mikebr...@eircom.net 
>>>> <mailto:mikebr...@eircom.net>> wrote:
>>>> 
>>>> Hi there. I'm trying to set up Shairport Sync as a CYGWIN service, and I'm 
>>>> trying to use cygrunsrv.
>>>> 
>>>> Briefly, I can get everything to work properly except the D-Bus interface 
>>>> -- when shairport-sync is installed as a service, it can't "own" a 
>>>> well-known name on the "system" D-Bus.
>>>> 
>>>> I built a configuration and installer for shairport sync essentially by 
>>>> copying the avahi-daemon-config file.
>>>> 
>>>> The Avahi deamon uses the system D-Bus successfully under the username 
>>>> "SYSTEM" and without (AFAICS) changing IDs. But for the life of me, I 
>>>> can't get Shairport Sync to work the same way.
>>>> 
>>>> Incidentally, if I change the D Bus policy file for Shairport Sync to be 
>>>> allowed to own its well-known name on D Bus when running under the logged 
>>>> in account, everything is peachy.
>>>> 
>>>> Any suggestions gratefully received. Incidentally, I'm the main developer 
>>>> of Shairport Sync -- https://github.com/mikebrady/shairport-sync 
>>>> <https://github.com/mikebrady/shairport-sync>.
>>>> 
>>>> Best wishes
>>>> Mike Brady
>>>> 
>> 
>> You have been heard, but I have not the faintest clue what d-bus or,
>> FWIW, avahi are doing.  Ideally, if you could break down the problem
>> to a simple, self-contained testcase which shows what exactly is not
>> working on a plain libc level, help may be possible :}
>> 
>> 
>> Corinna
>> 
>> -- 
>> Corinna Vinschen
>> Cygwin Maintainer
> 


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to