[arch-commits] Commit in dbus/repos/testing-i686 (8 files)

Eric Bélanger eric at nymeria.archlinux.org
Tue Jan 21 09:03:40 UTC 2014


    Date: Tuesday, January 21, 2014 @ 10:03:40
  Author: eric
Revision: 204495

archrelease: copy trunk to testing-i686

Added:
  dbus/repos/testing-i686/30-dbus
    (from rev 204494, dbus/trunk/30-dbus)
  dbus/repos/testing-i686/PKGBUILD
    (from rev 204494, dbus/trunk/PKGBUILD)
  dbus/repos/testing-i686/memleak.patch
    (from rev 204494, dbus/trunk/memleak.patch)
  dbus/repos/testing-i686/systemd-user-session.patch
    (from rev 204494, dbus/trunk/systemd-user-session.patch)
Deleted:
  dbus/repos/testing-i686/30-dbus
  dbus/repos/testing-i686/PKGBUILD
  dbus/repos/testing-i686/memleak.patch
  dbus/repos/testing-i686/systemd-user-session.patch

----------------------------+
 30-dbus                    |   12 -
 PKGBUILD                   |  144 ++++++++--------
 memleak.patch              |   74 ++++----
 systemd-user-session.patch |  366 +++++++++++++++++++++----------------------
 4 files changed, 297 insertions(+), 299 deletions(-)

Deleted: 30-dbus
===================================================================
--- 30-dbus	2014-01-21 09:00:57 UTC (rev 204494)
+++ 30-dbus	2014-01-21 09:03:40 UTC (rev 204495)
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-# launches a session dbus instance
-if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && type dbus-launch >/dev/null; then
-  eval $(dbus-launch --sh-syntax --exit-with-session)
-fi

Copied: dbus/repos/testing-i686/30-dbus (from rev 204494, dbus/trunk/30-dbus)
===================================================================
--- 30-dbus	                        (rev 0)
+++ 30-dbus	2014-01-21 09:03:40 UTC (rev 204495)
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+# launches a session dbus instance
+if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && type dbus-launch >/dev/null; then
+  eval $(dbus-launch --sh-syntax --exit-with-session)
+fi

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2014-01-21 09:00:57 UTC (rev 204494)
+++ PKGBUILD	2014-01-21 09:03:40 UTC (rev 204495)
@@ -1,73 +0,0 @@
-# $Id$
-# Maintainer: Tom Gundersen <teg at jklm.no>
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-# Contributor: Link Dupont <link at subpop.net>
-#
-pkgbase=dbus
-pkgname=('dbus' 'libdbus')
-pkgver=1.8.0
-pkgrel=1
-pkgdesc="Freedesktop.org message bus system"
-url="http://www.freedesktop.org/Software/dbus"
-arch=(i686 x86_64)
-license=('GPL' 'custom')
-makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl')
-source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz
-        30-dbus)
-md5sums=('059fbe84e39fc99c67a14f15b1f39dff'
-         '3314d727fa57fc443fce25b5cbeebbcc'
-         'd8a1bd529b3ddca671ee1a695a143db9'
-         'cf86d68e39d975cec1e9f0342eb9b142')
-
-prepare() {
-  cd dbus-$pkgver
-}
-
-build() {
-  cd dbus-$pkgver
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
-      --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
-      --with-system-pid-file=/run/dbus/pid \
-      --with-system-socket=/run/dbus/system_bus_socket \
-      --with-console-auth-dir=/run/console/ \
-      --enable-inotify --disable-dnotify \
-      --disable-verbose-mode --disable-static \
-      --disable-tests --disable-asserts \
-      --with-systemdsystemunitdir=/usr/lib/systemd/system \
-      --enable-systemd
-  make
-}
-
-package_dbus(){
-  depends=('libdbus' 'expat')
-  optdepends=('libx11: dbus-launch support')
-  provides=('dbus-core')
-  conflicts=('dbus-core')
-  replaces=('dbus-core')
-
-  cd dbus-$pkgver
-  make DESTDIR="$pkgdir" install
-
-  rm -rf "$pkgdir/var/run"
-
-  install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus"
-
-  install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING"
-
-  # split out libdbus-1
-  rm -rf "$srcdir/_libdbus"
-  install -dm755 "$srcdir"/_libdbus/usr/lib/dbus-1.0
-  mv "$pkgdir"/usr/include "$srcdir"/_libdbus/usr/
-  mv "$pkgdir"/usr/lib/pkgconfig "$srcdir"/_libdbus/usr/lib/
-  mv "$pkgdir"/usr/lib/libdbus* "$srcdir"/_libdbus/usr/lib/
-  mv "$pkgdir"/usr/lib/dbus-1.0/include "$srcdir"/_libdbus/usr/lib/dbus-1.0/
-  install -Dm644 COPYING "$srcdir"/_libdbus/usr/share/licenses/libdbus/COPYING
-}
-
-package_libdbus(){
-  pkgdesc="DBus library"
-  depends=('glibc')
-
-
-  mv "$srcdir"/_libdbus/* "$pkgdir"
-}

Copied: dbus/repos/testing-i686/PKGBUILD (from rev 204494, dbus/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2014-01-21 09:03:40 UTC (rev 204495)
@@ -0,0 +1,71 @@
+# $Id$
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+# Contributor: Link Dupont <link at subpop.net>
+#
+pkgbase=dbus
+pkgname=('dbus' 'libdbus')
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="Freedesktop.org message bus system"
+url="http://www.freedesktop.org/Software/dbus"
+arch=(i686 x86_64)
+license=('GPL' 'custom')
+makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl')
+source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz
+        30-dbus)
+md5sums=('059fbe84e39fc99c67a14f15b1f39dff'
+         '3314d727fa57fc443fce25b5cbeebbcc')
+
+prepare() {
+  cd dbus-$pkgver
+}
+
+build() {
+  cd dbus-$pkgver
+  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+      --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
+      --with-system-pid-file=/run/dbus/pid \
+      --with-system-socket=/run/dbus/system_bus_socket \
+      --with-console-auth-dir=/run/console/ \
+      --enable-inotify --disable-dnotify \
+      --disable-verbose-mode --disable-static \
+      --disable-tests --disable-asserts \
+      --with-systemdsystemunitdir=/usr/lib/systemd/system \
+      --enable-systemd
+  make
+}
+
+package_dbus(){
+  depends=('libdbus' 'expat')
+  optdepends=('libx11: dbus-launch support')
+  provides=('dbus-core')
+  conflicts=('dbus-core')
+  replaces=('dbus-core')
+
+  cd dbus-$pkgver
+  make DESTDIR="$pkgdir" install
+
+  rm -rf "$pkgdir/var/run"
+
+  install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus"
+
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING"
+
+  # split out libdbus-1
+  rm -rf "$srcdir/_libdbus"
+  install -dm755 "$srcdir"/_libdbus/usr/lib/dbus-1.0
+  mv "$pkgdir"/usr/include "$srcdir"/_libdbus/usr/
+  mv "$pkgdir"/usr/lib/pkgconfig "$srcdir"/_libdbus/usr/lib/
+  mv "$pkgdir"/usr/lib/libdbus* "$srcdir"/_libdbus/usr/lib/
+  mv "$pkgdir"/usr/lib/dbus-1.0/include "$srcdir"/_libdbus/usr/lib/dbus-1.0/
+  install -Dm644 COPYING "$srcdir"/_libdbus/usr/share/licenses/libdbus/COPYING
+}
+
+package_libdbus(){
+  pkgdesc="DBus library"
+  depends=('glibc')
+
+
+  mv "$srcdir"/_libdbus/* "$pkgdir"
+}

Deleted: memleak.patch
===================================================================
--- memleak.patch	2014-01-21 09:00:57 UTC (rev 204494)
+++ memleak.patch	2014-01-21 09:03:40 UTC (rev 204495)
@@ -1,37 +0,0 @@
-From 03aeaccbffa97c9237b57ca067e3da7388862129 Mon Sep 17 00:00:00 2001
-From: Radoslaw Pajak <r.pajak at samsung.com>
-Date: Fri, 08 Nov 2013 12:51:32 +0000
-Subject: fixed memory freeing if error during listing services
-
-Signed-off-by: Radoslaw Pajak <r.pajak at samsung.com>
-Reviewed-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
-Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71526
----
-diff --git a/bus/activation.c b/bus/activation.c
-index fcb7133..ea48a26 100644
---- a/bus/activation.c
-+++ b/bus/activation.c
-@@ -2179,7 +2179,7 @@ bus_activation_list_services (BusActivation *activation,
- 
-  error:
-   for (j = 0; j < i; j++)
--    dbus_free (retval[i]);
-+    dbus_free (retval[j]);
-   dbus_free (retval);
- 
-   return FALSE;
-diff --git a/bus/services.c b/bus/services.c
-index 6f380fa..01a720e 100644
---- a/bus/services.c
-+++ b/bus/services.c
-@@ -368,7 +368,7 @@ bus_registry_list_services (BusRegistry *registry,
-   
-  error:
-   for (j = 0; j < i; j++)
--    dbus_free (retval[i]);
-+    dbus_free (retval[j]);
-   dbus_free (retval);
- 
-   return FALSE;
---
-cgit v0.9.0.2-2-gbebe

Copied: dbus/repos/testing-i686/memleak.patch (from rev 204494, dbus/trunk/memleak.patch)
===================================================================
--- memleak.patch	                        (rev 0)
+++ memleak.patch	2014-01-21 09:03:40 UTC (rev 204495)
@@ -0,0 +1,37 @@
+From 03aeaccbffa97c9237b57ca067e3da7388862129 Mon Sep 17 00:00:00 2001
+From: Radoslaw Pajak <r.pajak at samsung.com>
+Date: Fri, 08 Nov 2013 12:51:32 +0000
+Subject: fixed memory freeing if error during listing services
+
+Signed-off-by: Radoslaw Pajak <r.pajak at samsung.com>
+Reviewed-by: Simon McVittie <simon.mcvittie at collabora.co.uk>
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71526
+---
+diff --git a/bus/activation.c b/bus/activation.c
+index fcb7133..ea48a26 100644
+--- a/bus/activation.c
++++ b/bus/activation.c
+@@ -2179,7 +2179,7 @@ bus_activation_list_services (BusActivation *activation,
+ 
+  error:
+   for (j = 0; j < i; j++)
+-    dbus_free (retval[i]);
++    dbus_free (retval[j]);
+   dbus_free (retval);
+ 
+   return FALSE;
+diff --git a/bus/services.c b/bus/services.c
+index 6f380fa..01a720e 100644
+--- a/bus/services.c
++++ b/bus/services.c
+@@ -368,7 +368,7 @@ bus_registry_list_services (BusRegistry *registry,
+   
+  error:
+   for (j = 0; j < i; j++)
+-    dbus_free (retval[i]);
++    dbus_free (retval[j]);
+   dbus_free (retval);
+ 
+   return FALSE;
+--
+cgit v0.9.0.2-2-gbebe

Deleted: systemd-user-session.patch
===================================================================
--- systemd-user-session.patch	2014-01-21 09:00:57 UTC (rev 204494)
+++ systemd-user-session.patch	2014-01-21 09:03:40 UTC (rev 204495)
@@ -1,183 +0,0 @@
-commit d728fdc655f17031da3bb129ab2fd17dadf0fe3a
-Author: Simon Peeters <peeters.simon at gmail.com>
-Date:   8 weeks ago
-
-    Set correct address when using --address=systemd:
-    
-    When dbus gets launched through systemd, we need to create an address
-    string based on the sockets passed.
-    
-    The _dbus_append_addres_from_socket() function is responsible for
-    extracting the address information from the file-descriptor and
-    formatting it in a dbus friendly way.
-    
-    This fixes bus activation when running dbus under a systemd session.
-    
-    https://bugs.freedesktop.org/show_bug.cgi?id=50962
-    
-    Signed-off-by: Simon Peeters <peeters.simon at gmail.com>
-
-diff --git a/dbus/dbus-server-unix.c b/dbus/dbus-server-unix.c
-index 130f66e..d995240 100644
---- a/dbus/dbus-server-unix.c
-+++ b/dbus/dbus-server-unix.c
-@@ -149,7 +149,7 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry,
-     }
-   else if (strcmp (method, "systemd") == 0)
-     {
--      int n, *fds;
-+      int i, n, *fds;
-       DBusString address;
- 
-       n = _dbus_listen_systemd_sockets (&fds, error);
-@@ -159,27 +159,39 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry,
-           return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
-         }
- 
--      _dbus_string_init_const (&address, "systemd:");
-+      if (!_dbus_string_init (&address))
-+          goto systemd_oom;
- 
--      *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL);
--      if (*server_p == NULL)
-+      for (i = 0; i < n; i++)
-         {
--          int i;
--
--          for (i = 0; i < n; i++)
-+          if (i > 0)
-             {
--              _dbus_close_socket (fds[i], NULL);
-+              if (!_dbus_string_append (&address, ";"))
-+                goto systemd_oom;
-             }
--          dbus_free (fds);
--
--          dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
--          return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
-+          if (!_dbus_append_address_from_socket (fds[i], &address, error))
-+            goto systemd_err;
-         }
- 
-+      *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL);
-+      if (*server_p == NULL)
-+        goto systemd_oom;
-+
-       dbus_free (fds);
- 
-       return DBUS_SERVER_LISTEN_OK;
--	}
-+  systemd_oom:
-+      _DBUS_SET_OOM (error);
-+  systemd_err:
-+      for (i = 0; i < n; i++)
-+        {
-+          _dbus_close_socket (fds[i], NULL);
-+        }
-+      dbus_free (fds);
-+      _dbus_string_free (&address);
-+
-+      return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
-+    }
- #ifdef DBUS_ENABLE_LAUNCHD
-   else if (strcmp (method, "launchd") == 0)
-     {
-diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
-index b4ecc96..55743b1 100644
---- a/dbus/dbus-sysdeps-unix.c
-+++ b/dbus/dbus-sysdeps-unix.c
-@@ -55,6 +55,7 @@
- #include <netinet/in.h>
- #include <netdb.h>
- #include <grp.h>
-+#include <arpa/inet.h>
- 
- #ifdef HAVE_ERRNO_H
- #include <errno.h>
-@@ -4160,4 +4161,71 @@ _dbus_check_setuid (void)
- #endif
- }
- 
-+/**
-+ * Read the address from the socket and append it to the string
-+ *
-+ * @param fd the socket
-+ * @param address
-+ * @param error return location for error code
-+ */
-+dbus_bool_t
-+_dbus_append_address_from_socket (int         fd,
-+                                  DBusString *address,
-+                                  DBusError  *error)
-+{
-+  union {
-+      struct sockaddr sa;
-+      struct sockaddr_storage storage;
-+      struct sockaddr_un un;
-+      struct sockaddr_in ipv4;
-+      struct sockaddr_in6 ipv6;
-+  } socket;
-+  char hostip[INET6_ADDRSTRLEN];
-+  int size = sizeof (socket);
-+
-+  if (getsockname (fd, &socket.sa, &size))
-+    goto err;
-+
-+  switch (socket.sa.sa_family)
-+    {
-+    case AF_UNIX:
-+      if (socket.un.sun_path[0]=='\0')
-+        {
-+          if (_dbus_string_append_printf (address, "unix:abstract=%s", &(socket.un.sun_path[1])))
-+            return TRUE;
-+        }
-+      else
-+        {
-+          if (_dbus_string_append_printf (address, "unix:path=%s", socket.un.sun_path))
-+            return TRUE;
-+        }
-+      break;
-+    case AF_INET:
-+      if (inet_ntop (AF_INET, &socket.ipv4.sin_addr, hostip, sizeof (hostip)))
-+        if (_dbus_string_append_printf (address, "tcp:family=ipv4,host=%s,port=%u",
-+                   hostip, ntohs (socket.ipv4.sin_port)))
-+          return TRUE;
-+      break;
-+#ifdef AF_INET6
-+    case AF_INET6:
-+      if (inet_ntop (AF_INET6, &socket.ipv6.sin6_addr, hostip, sizeof (hostip)))
-+        if (_dbus_string_append_printf (address, "tcp:family=ipv6,host=%s,port=%u",
-+                   hostip, ntohs (socket.ipv6.sin6_port)))
-+          return TRUE;
-+      break;
-+#endif
-+    default:
-+      dbus_set_error (error,
-+                      _dbus_error_from_errno (EINVAL),
-+                      "Failed to read address from socket: Unknown socket type.");
-+      return FALSE;
-+    }
-+ err:
-+  dbus_set_error (error,
-+                  _dbus_error_from_errno (errno),
-+                  "Failed to open socket: %s",
-+                  _dbus_strerror (errno));
-+  return FALSE;
-+}
-+
- /* tests in dbus-sysdeps-util.c */
-diff --git a/dbus/dbus-sysdeps-unix.h b/dbus/dbus-sysdeps-unix.h
-index 9b70896..a265b33 100644
---- a/dbus/dbus-sysdeps-unix.h
-+++ b/dbus/dbus-sysdeps-unix.h
-@@ -138,6 +138,10 @@ dbus_bool_t _dbus_parse_uid (const DBusString  *uid_str,
- 
- void _dbus_close_all (void);
- 
-+dbus_bool_t _dbus_append_address_from_socket (int         fd,
-+                                              DBusString *address,
-+                                              DBusError  *error);
-+
- /** @} */
- 
- DBUS_END_DECLS

Copied: dbus/repos/testing-i686/systemd-user-session.patch (from rev 204494, dbus/trunk/systemd-user-session.patch)
===================================================================
--- systemd-user-session.patch	                        (rev 0)
+++ systemd-user-session.patch	2014-01-21 09:03:40 UTC (rev 204495)
@@ -0,0 +1,183 @@
+commit d728fdc655f17031da3bb129ab2fd17dadf0fe3a
+Author: Simon Peeters <peeters.simon at gmail.com>
+Date:   8 weeks ago
+
+    Set correct address when using --address=systemd:
+    
+    When dbus gets launched through systemd, we need to create an address
+    string based on the sockets passed.
+    
+    The _dbus_append_addres_from_socket() function is responsible for
+    extracting the address information from the file-descriptor and
+    formatting it in a dbus friendly way.
+    
+    This fixes bus activation when running dbus under a systemd session.
+    
+    https://bugs.freedesktop.org/show_bug.cgi?id=50962
+    
+    Signed-off-by: Simon Peeters <peeters.simon at gmail.com>
+
+diff --git a/dbus/dbus-server-unix.c b/dbus/dbus-server-unix.c
+index 130f66e..d995240 100644
+--- a/dbus/dbus-server-unix.c
++++ b/dbus/dbus-server-unix.c
+@@ -149,7 +149,7 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry,
+     }
+   else if (strcmp (method, "systemd") == 0)
+     {
+-      int n, *fds;
++      int i, n, *fds;
+       DBusString address;
+ 
+       n = _dbus_listen_systemd_sockets (&fds, error);
+@@ -159,27 +159,39 @@ _dbus_server_listen_platform_specific (DBusAddressEntry *entry,
+           return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
+         }
+ 
+-      _dbus_string_init_const (&address, "systemd:");
++      if (!_dbus_string_init (&address))
++          goto systemd_oom;
+ 
+-      *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL);
+-      if (*server_p == NULL)
++      for (i = 0; i < n; i++)
+         {
+-          int i;
+-
+-          for (i = 0; i < n; i++)
++          if (i > 0)
+             {
+-              _dbus_close_socket (fds[i], NULL);
++              if (!_dbus_string_append (&address, ";"))
++                goto systemd_oom;
+             }
+-          dbus_free (fds);
+-
+-          dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
+-          return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
++          if (!_dbus_append_address_from_socket (fds[i], &address, error))
++            goto systemd_err;
+         }
+ 
++      *server_p = _dbus_server_new_for_socket (fds, n, &address, NULL);
++      if (*server_p == NULL)
++        goto systemd_oom;
++
+       dbus_free (fds);
+ 
+       return DBUS_SERVER_LISTEN_OK;
+-	}
++  systemd_oom:
++      _DBUS_SET_OOM (error);
++  systemd_err:
++      for (i = 0; i < n; i++)
++        {
++          _dbus_close_socket (fds[i], NULL);
++        }
++      dbus_free (fds);
++      _dbus_string_free (&address);
++
++      return DBUS_SERVER_LISTEN_DID_NOT_CONNECT;
++    }
+ #ifdef DBUS_ENABLE_LAUNCHD
+   else if (strcmp (method, "launchd") == 0)
+     {
+diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
+index b4ecc96..55743b1 100644
+--- a/dbus/dbus-sysdeps-unix.c
++++ b/dbus/dbus-sysdeps-unix.c
+@@ -55,6 +55,7 @@
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <grp.h>
++#include <arpa/inet.h>
+ 
+ #ifdef HAVE_ERRNO_H
+ #include <errno.h>
+@@ -4160,4 +4161,71 @@ _dbus_check_setuid (void)
+ #endif
+ }
+ 
++/**
++ * Read the address from the socket and append it to the string
++ *
++ * @param fd the socket
++ * @param address
++ * @param error return location for error code
++ */
++dbus_bool_t
++_dbus_append_address_from_socket (int         fd,
++                                  DBusString *address,
++                                  DBusError  *error)
++{
++  union {
++      struct sockaddr sa;
++      struct sockaddr_storage storage;
++      struct sockaddr_un un;
++      struct sockaddr_in ipv4;
++      struct sockaddr_in6 ipv6;
++  } socket;
++  char hostip[INET6_ADDRSTRLEN];
++  int size = sizeof (socket);
++
++  if (getsockname (fd, &socket.sa, &size))
++    goto err;
++
++  switch (socket.sa.sa_family)
++    {
++    case AF_UNIX:
++      if (socket.un.sun_path[0]=='\0')
++        {
++          if (_dbus_string_append_printf (address, "unix:abstract=%s", &(socket.un.sun_path[1])))
++            return TRUE;
++        }
++      else
++        {
++          if (_dbus_string_append_printf (address, "unix:path=%s", socket.un.sun_path))
++            return TRUE;
++        }
++      break;
++    case AF_INET:
++      if (inet_ntop (AF_INET, &socket.ipv4.sin_addr, hostip, sizeof (hostip)))
++        if (_dbus_string_append_printf (address, "tcp:family=ipv4,host=%s,port=%u",
++                   hostip, ntohs (socket.ipv4.sin_port)))
++          return TRUE;
++      break;
++#ifdef AF_INET6
++    case AF_INET6:
++      if (inet_ntop (AF_INET6, &socket.ipv6.sin6_addr, hostip, sizeof (hostip)))
++        if (_dbus_string_append_printf (address, "tcp:family=ipv6,host=%s,port=%u",
++                   hostip, ntohs (socket.ipv6.sin6_port)))
++          return TRUE;
++      break;
++#endif
++    default:
++      dbus_set_error (error,
++                      _dbus_error_from_errno (EINVAL),
++                      "Failed to read address from socket: Unknown socket type.");
++      return FALSE;
++    }
++ err:
++  dbus_set_error (error,
++                  _dbus_error_from_errno (errno),
++                  "Failed to open socket: %s",
++                  _dbus_strerror (errno));
++  return FALSE;
++}
++
+ /* tests in dbus-sysdeps-util.c */
+diff --git a/dbus/dbus-sysdeps-unix.h b/dbus/dbus-sysdeps-unix.h
+index 9b70896..a265b33 100644
+--- a/dbus/dbus-sysdeps-unix.h
++++ b/dbus/dbus-sysdeps-unix.h
+@@ -138,6 +138,10 @@ dbus_bool_t _dbus_parse_uid (const DBusString  *uid_str,
+ 
+ void _dbus_close_all (void);
+ 
++dbus_bool_t _dbus_append_address_from_socket (int         fd,
++                                              DBusString *address,
++                                              DBusError  *error);
++
+ /** @} */
+ 
+ DBUS_END_DECLS




More information about the arch-commits mailing list