<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 23, 2015 at 4:59 PM, Thiago Macieira <span dir="ltr"><<a href="mailto:thiago@kde.org" target="_blank">thiago@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On Monday 23 March 2015 15:07:06 David Zeuthen wrote:<br>
> Hi,<br>
><br>
> On Wed, Mar 18, 2015 at 5:35 PM, Thiago Macieira <<a href="mailto:thiago@kde.org">thiago@kde.org</a>> wrote:<br>
> > Reality is that it's actually easier to write your own socket and<br>
> > marshalling<br>
> > code.<br>
><br>
> True that but don't forget the authentication code (EXTERNAL, etc.)! I<br>
> think it was the most challenging part to get right (and to test) when I<br>
> wrote GDBus. The ironic thing is that we don't really need any of it (and I<br>
> think kdbus does largely away with it) since 99% of the time we're using<br>
> Unix domain sockets + peer credentials...<br>
<br>
</div></div>That's actually surprising. The exchange is very simple, so it shouldn't have<br>
taken you so long.<br></blockquote><div><br></div><div>I don't remember it being that simple, there's at least a couple of back and forths (including negotiating capabilities, right now only Unix File Descriptor passing but this can grow) plus you need to abstract out what credentials are and what they mean (it's different across Unix-like systems even) since Applications need to check them to reject/accept incoming connections. Plus you also want libdbus-1 interop unit tests to know that your code works with the reference implementation...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Were you trying to implement the full state machine and SASL integration?<br></blockquote><div><br></div><div>Yeah, pretty much - it's written in a way so Applications (or libraries or desktop environments) would be able to extend a GDBusAuthMechnism abstract base class. Plus I wrote implementations for ANONYMOUS, EXTERNAL and DBUS_COOKIE_SHA1. Fortunately this API was never exposed to applications ... which in retrospect was probably one of my better ideas :-)<br></div><div><br></div><div>     David</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5">--<br>
Thiago Macieira - thiago (AT) <a href="http://macieira.info" target="_blank">macieira.info</a> - thiago (AT) <a href="http://kde.org" target="_blank">kde.org</a><br>
   Software Architect - Intel Open Source Technology Center<br>
      PGP/GPG: 0x6EF45358; fingerprint:<br>
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358<br>
<br>
</div></div></blockquote></div><br></div></div>