Re: DBus on "other" platforms

René J.V. Bertin <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <[email protected]>
On Monday May 16 2016 12:23:23 Simon McVittie wrote:

> That's not what I asked you to do. Please run it with the --tap option

My bad, I missed that somehow.


> not the one you just compiled; similarly, it'll use your normal
> (installed) session.conf, not a local one that hopefully only has
> EXTERNAL enabled. If you are testing a special local compile of dbus you

Yes, I wondered about that!
So test/data/valid-config-files/session.conf should by definition be configured correctly, with EXTERNAL enabled?
From the looks of it that's not the case, and there are also include directives that fetch things from /opt/local/etc/dbus-1 (i.e. the "normal" install location). That global session.conf appears to be empty, though; there's nothing in session.d .

> 
>     DBUS_TEST_DAEMON=$(pwd)/bus/dbus-daemon \
>     DBUS_TEST_DATA=$(pwd)/test/data \
>     test/test-dbus-daemon --tap

That results in

# random seed: R02Sb0a7bf037780925e97e26c652b3a9dc7
1..8
# UnixUserID of this process is 505
ok 1 /creds
**
ERROR:dbus-daemon.c:548:test_processid: assertion failed (error.name == DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN): ("org.freedesktop.DBus.Error.InvalidArgs" == "org.freedesktop.DBus.Error.UnixProcessIdUnknown")
# ERROR:dbus-daemon.c:548:test_processid: assertion failed (error.name == DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN): ("org.freedesktop.DBus.Error.InvalidArgs" == "org.freedesktop.DBus.Error.UnixProcessIdUnknown")
Abort
Exit 134

> or perhaps more simply
> 
>     make -C test check-TESTS TESTS=test-dbus-daemon VERBOSE=1

And this in

PASS: test-dbus-daemon 1 /creds
ERROR: test-dbus-daemon - too few tests run (expected 8, got 1)
ERROR: test-dbus-daemon - exited with status 134 (terminated by signal 6?)
======================================
   dbus 1.10.8: test/test-suite.log
======================================

# TOTAL: 3
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 2

.. contents:: :depth: 2

ERROR: test-dbus-daemon
=======================

# random seed: R02Sf06c05621c301026bce0b14eaee134fa
1..8
# UnixUserID of this process is 505
**
ERROR:dbus-daemon.c:548:test_processid: assertion failed (error.name == DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN): ("org.freedesktop.DBus.Error.InvalidArgs" == "org.freedesktop.DBus.Error.UnixProcessIdUnknown")
ok 1 /creds
PASS: test-dbus-daemon 1 /creds
../build-aux/tap-driver.sh: line 639: 30871 Abort trap: 6           "$@"
# ERROR:dbus-daemon.c:548:test_processid: assertion failed (error.name == DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN): ("org.freedesktop.DBus.Error.InvalidArgs" == "org.freedesktop.DBus.Error.UnixProcessIdUnknown")
ERROR: test-dbus-daemon - too few tests run (expected 8, got 1)
ERROR: test-dbus-daemon - exited with status 134 (terminated by signal 6?)

============================================================================
Testsuite summary for dbus 1.10.8
============================================================================
# TOTAL: 3
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 2
============================================================================
See test/test-suite.log
Please report to https://bugs.freedesktop.org/enter_bug.cgi?product=dbus
============================================================================
make[1]: *** [test-suite.log] Error 1
make: *** [check-TESTS] Error 2

> > /processid: **
> > ERROR:dbus-daemon.c:548:test_processid: assertion failed (error.name == DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN): ("org.freedesktop.DBus.Error.InvalidArgs" == "org.freedesktop.DBus.Error.UnixProcessIdUnknown")
> > Abort
> > Exit 134

OK.

> This is getting more in-depth. Could you open a bug report on
> <https://bugs.freedesktop.org/enter_bug.cgi?product=dbus&component=core>
> for this part, please?

OK. Later tonight or else tomorrow.

> 
> Editing test/dbus-daemon.c to include something like
> 
>     g_printerr ("%s: %s\n", error.name, error.message);

Prints

org.freedesktop.DBus.Error.InvalidArgs: Argument 0 is specified to be of type "uint32", but is actually of type "string"

maybe that already gives you an idea, together with that attached session.conf .

R.

_______________________________________________
dbus mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dbus
session.conf (text/html, 3.5 KB)
<!-- This configuration file controls the per-user-login-session message bus.
     Add a session-local.conf and edit that rather than changing this 
     file directly. -->

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <!-- Our well-known bus type, don't change this -->
  <type>session</type>

  <!-- If we fork, keep the user's original umask to avoid affecting
       the behavior of child processes. -->
  <keep_umask/>

  <listen>launchd:env=DBUS_LAUNCHD_SESSION_BUS_SOCKET</listen>

  <!-- On Unix systems, the most secure authentication mechanism is
  EXTERNAL, which uses credential-passing over Unix sockets.

  This authentication mechanism is not available on Windows,
  is not suitable for use with the tcp: or nonce-tcp: transports,
  and will not work on obscure flavours of Unix that do not have
  a supported credentials-passing mechanism. On those platforms/transports,
  comment out the <auth> element to allow fallback to DBUS_COOKIE_SHA1. -->
  <!--<auth>EXTERNAL</auth>-->

  <standard_session_servicedirs />

  <policy context="default">
    <!-- Allow everything to be sent -->
    <allow send_destination="*" eavesdrop="true"/>
    <!-- Allow everything to be received -->
    <allow eavesdrop="true"/>
    <!-- Allow anyone to own anything -->
    <allow own="*"/>
  </policy>

  <!-- Include legacy configuration location -->
  <include ignore_missing="yes">/opt/local/etc/dbus-1/session.conf</include>

  <!-- Config files are placed here that among other things, 
       further restrict the above policy for specific services. -->
  <includedir>session.d</includedir>

  <includedir>/opt/local/etc/dbus-1/session.d</includedir>

  <!-- This is included last so local configuration can override what's 
       in this standard file -->
  <include ignore_missing="yes">/opt/local/etc/dbus-1/session-local.conf</include>

  <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>

  <!-- For the session bus, override the default relatively-low limits 
       with essentially infinite limits, since the bus is just running 
       as the user anyway, using up bus resources is not something we need 
       to worry about. In some cases, we do set the limits lower than 
       "all available memory" if exceeding the limit is almost certainly a bug, 
       having the bus enforce a limit is nicer than a huge memory leak. But the 
       intent is that these limits should never be hit. -->

  <!-- the memory limits are 1G instead of say 4G because they can't exceed 32-bit signed int max -->
  <limit name="max_incoming_bytes">1000000000</limit>
  <limit name="max_incoming_unix_fds">250000000</limit>
  <limit name="max_outgoing_bytes">1000000000</limit>
  <limit name="max_outgoing_unix_fds">250000000</limit>
  <limit name="max_message_size">1000000000</limit>
  <!-- We do not override max_message_unix_fds here since the in-kernel
       limit is also relatively low -->
  <limit name="service_start_timeout">120000</limit>  
  <limit name="auth_timeout">240000</limit>
  <limit name="pending_fd_timeout">150000</limit>
  <limit name="max_completed_connections">100000</limit>  
  <limit name="max_incomplete_connections">10000</limit>
  <limit name="max_connections_per_user">100000</limit>
  <limit name="max_pending_service_starts">10000</limit>
  <limit name="max_names_per_connection">50000</limit>
  <limit name="max_match_rules_per_connection">50000</limit>
  <limit name="max_replies_per_connection">50000</limit>

</busconfig>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.