[Bug 47072] Add self-advertise support on Windows using the Apple Bonjour DNS-SD implementation

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Mar 12 10:34:29 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=47072

Olli Salli <olli.salli at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch

--- Comment #5 from Olli Salli <olli.salli at collabora.co.uk> 2012-03-12 02:34:29 PDT ---
Thanks for fixing the issues. Here's a few further small things:

>_bonjour_socket_process_cb (GIOChannel *source,
>                             GIOCondition condition,

indent

>  /* Service is not announced yet */
>  if (TXTRecordGetLength (&priv->txt_record_presence) <= 0)
>    {
>      return TRUE;
>    }

The Avahi backend calls salut_avahi_self_set_caps from self_announce to
recuperate this. You don't. I think you should add a call to _set_caps before
DNSServiceRegister() in your self_announce, otherwise you won't have initial
capabilities advertised (or then this is redundant in the Avahi backend too -
but that could be fairly obscure to tell as it might have to do with races with
when UpdateCapabilities is called etc though).

>  if (self->status_message != NULL)
>    {
>      error_type = TXTRecordSetValue (&priv->txt_record_presence, "msg",
>              strlen (self->status_message), self->status_message);
>      RETURN_ERROR_IF_FAIL (error_type, error);
>    }

This is all good, but if self->status_message IS NULL (the user has unset the
status message), you must remove it from the record. TXTRecordRemoveValue()
should do the trick.

additionally, you've rebased this quite weirdly, starting from this commit:

author    Olli Salli <olli.salli at collabora.co.uk>    2012-02-21 18:21:47 (GMT)
committer     Siraj Razick <siraj.razick at collabora.co.uk>    2012-03-12
04:40:45 (GMT)
commit    457014470cbc07fa608b6556b3eea73833b74273 (patch) (side-by-side diff)
tree    169903d62d0b75fd90ffcd52044c285cc66a601f
parent    2afed9602d88fda812fb3a0d3e4678039cd3862b (diff)
download    telepathy-salut-457014470cbc07fa608b6556b3eea73833b74273.tar.gz
telepathy-salut-457014470cbc07fa608b6556b3eea73833b74273.tar.bz2
Update NEWS

That is, you've rebased a lot of patches already in master on top of some ...
older ... branch.

To make this mergeable to current actual upstream master, please rebase on it.
You need to use rebase -i I think, because git might no longer recognize that
the earlier patches in your branch (like the above) are already in master. So
update master and then git rebase -i master in your branch, and remove the
lines for the patches that don't belong to your branch.

I imagine your windows build will break from Trever's FT code merged there -
please fix that. I think it'll be as simple as conditionally linking to the GIO
Windows lib instead of the UNIX one on Win32, and #ifdefing out UNIX socket
code in ft-channel.c like you did in Gabble. The TCP socket code should,
however, be used on windows.

While at that, you should update the master copy in your personal repo - it
helps reviewers notice what's actually part of a still-unmerged branch and
what's not, and what master state the branch has been based on (should be the
latest).

That's about it from me. Jonny?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.



More information about the telepathy-bugs mailing list