Commit feb31a33 authored by Simon McVittie's avatar Simon McVittie

Merge branch 'dbus-1.4' and update NEWS for master

Conflicts:
	NEWS
parents 377051ee 006dbd48
SUBDIRS=dbus bus doc tools test SUBDIRS=dbus bus tools test doc
DIST_SUBDIRS=dbus bus doc tools test
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = dbus-1.pc pkgconfig_DATA = dbus-1.pc
......
D-Bus 1.5.6 (UNRELEASED) D-Bus 1.5.6 (UNRELEASED)
== ==
Fixes: Potentially incompatible (Bustle and similar debugging tools will need
changes to work as intended):
• Do not allow match rules to "eavesdrop" (receive messages intended for a
different recipient) by mistake: eavesdroppers must now opt-in to this
behaviour by putting "eavesdrop='true'" in the match rule, which will
not have any practical effect on buses where eavesdropping is not allowed
(fd.o #37890, Cosimo Alfarano)
Other changes:
• Use DBUS_ERROR_OBJECT_PATH_IN_USE if dbus_connection_try_register_object_path
or dbus_connection_try_register_fallback fails, not ...ADDRESS_IN_USE,
and simplify object-path registration (fd.o #38874, Jiří Klimeš)
• Consistently use atomic operations on the refcounts of DBusPendingCall
and DBusServer, as was done for DBusConnection in 1.4.12 (fd.o #38005,
Simon McVittie)
• Fix a file descriptor leak when connecting to a TCP socket (fd.o #37258,
Simon McVittie)
• Make "make check" in a clean tree work, by not running tests until
test data has been set up (fd.o #34405, Simon McVittie)
• The dbus-daemon no longer busy-loops if it has a very large number of file • The dbus-daemon no longer busy-loops if it has a very large number of file
descriptors (fd.o #23194, Simon McVittie) descriptors (fd.o #23194, Simon McVittie)
• Some cmake fixes (Ralf Habacker)
• Remove dead code, mainly from DBusString (fd.o #38570, Simon McVittie)
• Stop storing two extra byte order indicators in each D-Bus message
(fd.o #38287, Simon McVittie)
• Add an optional Stats interface which can be used to get statistics from
a running dbus-daemon if enabled at configure time with --enable-stats
(fd.o #34040, Simon McVittie)
• Documentation (fd.o #36156, Simon McVittie):
· let xsltproc be overridden as usual: ./configure XSLTPROC=myxsltproc
· install more documentation automatically, including man2html output
· put dbus.devhelp in the right place (it must go in ${htmldir})
• Unix-specific (fd.o #33465, Simon McVittie):
· opt-in to fd passing on Solaris
• Windows-specific (Ralf Habacker):
· fix use of a mutex for autolaunch server detection
· don't crash on malloc failure in _dbus_printf_string_upper_bound
D-Bus 1.5.4 (2011-06-10) D-Bus 1.5.4 (2011-06-10)
== ==
...@@ -14,7 +60,7 @@ Security (local denial of service): ...@@ -14,7 +60,7 @@ Security (local denial of service):
• Byte-swap foreign-endian messages correctly, preventing a long-standing • Byte-swap foreign-endian messages correctly, preventing a long-standing
local DoS if foreign-endian messages are relayed through the dbus-daemon local DoS if foreign-endian messages are relayed through the dbus-daemon
(backporters: this is git commit c3223ba6c401ba81df1305851312a47c485e6cd7) (backporters: this is git commit c3223ba6c401ba81df1305851312a47c485e6cd7)
(fd.o #38120, Debian #629938, no CVE number yet; Simon McVittie) (CVE-2011-2200, fd.o #38120, Debian #629938; Simon McVittie)
New things: New things:
......
...@@ -148,25 +148,27 @@ bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD \ ...@@ -148,25 +148,27 @@ bus_test_launch_helper_CPPFLAGS= -DDBUS_STATIC_BUILD \
-DACTIVATION_LAUNCHER_TEST \ -DACTIVATION_LAUNCHER_TEST \
-DACTIVATION_LAUNCHER_DO_OOM -DACTIVATION_LAUNCHER_DO_OOM
## we use noinst_PROGRAMS not check_PROGRAMS so that we build noinst_PROGRAMS =
## even when not doing "make check"
noinst_PROGRAMS = $(TESTS)
dbus_daemon_exec_PROGRAMS = dbus-daemon dbus_daemon_exec_PROGRAMS = dbus-daemon
if DBUS_UNIX if DBUS_UNIX
libexec_PROGRAMS = dbus-daemon-launch-helper libexec_PROGRAMS = dbus-daemon-launch-helper
endif DBUS_UNIX endif DBUS_UNIX
## note that TESTS has special meaning (stuff to use in make check) ## Note that TESTS has special meaning (stuff to use in make check).
## so if adding tests not to be run in make check, don't add them to ## We don't actually want to run any of these tests until test/ has been
## TESTS ## compiled, so we don't put them in TESTS here; we run them in test/
TESTS = ## instead.
if DBUS_BUILD_TESTS if DBUS_BUILD_TESTS
TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus DBUS_FATAL_WARNINGS=1 DBUS_BLOCK_ON_ABORT=1 ## we use noinst_PROGRAMS not check_PROGRAMS so that we build
TESTS += bus-test bus-test-system ## even when not doing "make check"
# run as a test by test/Makefile.am
noinst_PROGRAMS += bus-test bus-test-system
if DBUS_UNIX if DBUS_UNIX
TESTS += bus-test-launch-helper # run as a test by test/Makefile.am
noinst_PROGRAMS += bus-test-launch-helper
# this is used by the tests but is not,itself, a test # this is used by the tests but is not,itself, a test
noinst_PROGRAMS += dbus-daemon-launch-helper-test noinst_PROGRAMS += dbus-daemon-launch-helper-test
endif DBUS_UNIX endif DBUS_UNIX
......
...@@ -1256,6 +1256,9 @@ case $host_os in ...@@ -1256,6 +1256,9 @@ case $host_os in
solaris*) solaris*)
# Solaris' C library apparently needs these runes to be threadsafe... # Solaris' C library apparently needs these runes to be threadsafe...
CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT" CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
# ... and this opt-in to get file descriptor passing support
CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500"
;;
esac esac
### Doxygen Documentation ### Doxygen Documentation
...@@ -1287,9 +1290,8 @@ fi ...@@ -1287,9 +1290,8 @@ fi
AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes) AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes)
AC_MSG_RESULT($enable_doxygen_docs) AC_MSG_RESULT($enable_doxygen_docs)
XSLTPROC=false
AC_CHECK_PROGS([XSLTPROC], [xsltproc]) AC_CHECK_PROGS([XSLTPROC], [xsltproc])
AM_CONDITIONAL(DBUS_HAVE_XSLTPROC, test "$XSLTPROC" != false) AM_CONDITIONAL([DBUS_HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
### XML Documentation ### XML Documentation
......
...@@ -269,20 +269,13 @@ libdbus_internal_la_CPPFLAGS = -DDBUS_STATIC_BUILD ...@@ -269,20 +269,13 @@ libdbus_internal_la_CPPFLAGS = -DDBUS_STATIC_BUILD
libdbus_internal_la_LIBADD=$(DBUS_CLIENT_LIBS) libdbus_internal_la_LIBADD=$(DBUS_CLIENT_LIBS)
libdbus_internal_la_LDFLAGS=$(export_symbols_internal) @R_DYNAMIC_LDFLAG@ libdbus_internal_la_LDFLAGS=$(export_symbols_internal) @R_DYNAMIC_LDFLAG@
## note that TESTS has special meaning (stuff to use in make check) noinst_PROGRAMS =
## so if adding tests not to be run in make check, don't add them to
## TESTS
if DBUS_BUILD_TESTS if DBUS_BUILD_TESTS
TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus # We can't actually run this til we've reached test/
TESTS=dbus-test noinst_PROGRAMS += dbus-test
else
TESTS=
endif endif
## we use noinst_PROGRAMS not check_PROGRAMS so that we build
## even when not doing "make check"
noinst_PROGRAMS=$(TESTS)
dbus_test_SOURCES= \ dbus_test_SOURCES= \
dbus-test-main.c dbus-test-main.c
......
...@@ -619,8 +619,8 @@ process_test_subdir (const DBusString *test_base_dir, ...@@ -619,8 +619,8 @@ process_test_subdir (const DBusString *test_base_dir,
{ {
if (_dbus_string_ends_with_c_str (&filename, ".message")) if (_dbus_string_ends_with_c_str (&filename, ".message"))
{ {
_dbus_warn ("Could not load %s, message builder language no longer supported\n", printf ("SKIP: Could not load %s, message builder language no longer supported\n",
_dbus_string_get_const_data (&filename)); _dbus_string_get_const_data (&filename));
} }
_dbus_verbose ("Skipping non-.message file %s\n", _dbus_verbose ("Skipping non-.message file %s\n",
......
...@@ -135,7 +135,7 @@ dbus_internal_do_not_use_run_tests (const char *test_data_dir, const char *speci ...@@ -135,7 +135,7 @@ dbus_internal_do_not_use_run_tests (const char *test_data_dir, const char *speci
check_memleaks (); check_memleaks ();
#else #else
_dbus_warn ("recursive marshal tests disabled\n"); printf ("SKIP: recursive marshal tests disabled\n");
#endif #endif
run_test ("byteswap", specific_test, _dbus_marshal_byteswap_test); run_test ("byteswap", specific_test, _dbus_marshal_byteswap_test);
......
...@@ -28,16 +28,18 @@ DTDS = \ ...@@ -28,16 +28,18 @@ DTDS = \
busconfig.dtd \ busconfig.dtd \
introspect.dtd introspect.dtd
STATIC_DOCS = \ dist_doc_DATA = \
diagram.png \ diagram.png \
diagram.svg \ diagram.svg \
system-activation.txt
STATIC_DOCS = \
dbus-faq.xml \ dbus-faq.xml \
dbus-specification.xml \ dbus-specification.xml \
dbus-test-plan.xml \ dbus-test-plan.xml \
dbus-tutorial.xml \ dbus-tutorial.xml \
dcop-howto.txt \ dcop-howto.txt \
introspect.xsl \ introspect.xsl \
system-activation.txt \
$(DTDS) $(DTDS)
EXTRA_DIST = \ EXTRA_DIST = \
...@@ -46,17 +48,18 @@ EXTRA_DIST = \ ...@@ -46,17 +48,18 @@ EXTRA_DIST = \
$(STATIC_DOCS) \ $(STATIC_DOCS) \
$(MAN_IN_FILES) $(MAN_IN_FILES)
HTML_FILES= \ html_DATA =
# we distribute these in the tarball so users don't necessarily need xmlto
dist_html_DATA = $(XMLTO_OUTPUT)
XMLTO_OUTPUT= \
dbus-faq.html \ dbus-faq.html \
dbus-specification.html \ dbus-specification.html \
dbus-test-plan.html \ dbus-test-plan.html \
dbus-tutorial.html dbus-tutorial.html
if DBUS_XML_DOCS_ENABLED if DBUS_XML_DOCS_ENABLED
all-local:: $(HTML_FILES)
EXTRA_DIST += $(HTML_FILES)
dbus-specification.html: dbus-specification.xml dbus-specification.html: dbus-specification.xml
$(XMLTO) html-nochunks $< $(XMLTO) html-nochunks $<
...@@ -68,7 +71,6 @@ dbus-tutorial.html: dbus-tutorial.xml ...@@ -68,7 +71,6 @@ dbus-tutorial.html: dbus-tutorial.xml
dbus-faq.html: dbus-faq.xml dbus-faq.html: dbus-faq.xml
$(XMLTO) html-nochunks $< $(XMLTO) html-nochunks $<
endif endif
if DBUS_DOXYGEN_DOCS_ENABLED if DBUS_DOXYGEN_DOCS_ENABLED
...@@ -79,7 +81,7 @@ doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch]) ...@@ -79,7 +81,7 @@ doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
@touch $@ @touch $@
if DBUS_HAVE_XSLTPROC if DBUS_HAVE_XSLTPROC
api_DATA = dbus.devhelp html_DATA += dbus.devhelp
dbus.devhelp: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp dbus.devhelp: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp
$(XSLTPROC) -o $@ $< api/xml/index.xml $(XSLTPROC) -o $@ $< api/xml/index.xml
...@@ -95,12 +97,16 @@ uninstall-local:: ...@@ -95,12 +97,16 @@ uninstall-local::
rm -f $(DESTDIR)$(apidir)/*.html rm -f $(DESTDIR)$(apidir)/*.html
rm -f $(DESTDIR)$(apidir)/*.png rm -f $(DESTDIR)$(apidir)/*.png
rm -f $(DESTDIR)$(apidir)/*.css rm -f $(DESTDIR)$(apidir)/*.css
rm -f $(DESTDIR)$(htmldir)/*.html
rm -f $(DESTDIR)$(docdir)/*.txt
rm -f $(DESTDIR)$(docdir)/*.png
rm -f $(DESTDIR)$(docdir)/*.svg
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \ rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \
rmdir $(DESTDIR)$(apidir) rmdir $(DESTDIR)$(apidir)
endif endif
if DBUS_HAVE_MAN2HTML if DBUS_HAVE_MAN2HTML
all-local:: $(MAN_HTML_FILES) html_DATA += $(MAN_HTML_FILES)
%.1.html: %.1 %.1.html: %.1
$(AM_V_GEN)( $(MAN2HTML) $< > $@.tmp && mv $@.tmp $@ ) $(AM_V_GEN)( $(MAN2HTML) $< > $@.tmp && mv $@.tmp $@ )
...@@ -115,11 +121,12 @@ BONUS_FILES = \ ...@@ -115,11 +121,12 @@ BONUS_FILES = \
$(top_srcdir)/COPYING \ $(top_srcdir)/COPYING \
$(top_srcdir)/ChangeLog $(top_srcdir)/ChangeLog
dbus-docs: $(STATIC_DOCS) $(HTML_FILES) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp dbus-docs: $(STATIC_DOCS) $(dist_doc_DATA) $(dist_html_DATA) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp
$(AM_V_at)rm -rf $@ $(AM_V_at)rm -rf $@
$(AM_V_GEN)$(MKDIR_P) $@/api $(AM_V_GEN)$(MKDIR_P) $@/api
$(AM_V_at)cp $(STATIC_DOCS) $@ $(AM_V_at)cp $(STATIC_DOCS) $@
$(AM_V_at)cp $(HTML_FILES) $@ $(AM_V_at)cp $(dist_doc_DATA) $@
$(AM_V_at)cp $(dist_html_DATA) $@
$(AM_V_at)cp $(MAN_HTML_FILES) $@ $(AM_V_at)cp $(MAN_HTML_FILES) $@
$(AM_V_at)cp $(BONUS_FILES) $@ $(AM_V_at)cp $(BONUS_FILES) $@
$(AM_V_at)cp -r api/html $@/api $(AM_V_at)cp -r api/html $@/api
...@@ -147,10 +154,11 @@ maintainer-upload-docs: ...@@ -147,10 +154,11 @@ maintainer-upload-docs:
endif endif
clean-local: clean-local:
rm -f $(html_DATA)
rm -rf api rm -rf api
rm -rf dbus-docs rm -rf dbus-docs
rm -f *.1.html rm -f *.1.html
rm -f doxygen.stamp rm -f doxygen.stamp
maintainer-clean-local: maintainer-clean-local:
rm -f $(HTML_FILES) rm -f $(XMLTO_OUTPUT)
...@@ -13,15 +13,42 @@ noinst_LTLIBRARIES = libdbus-testutils.la ...@@ -13,15 +13,42 @@ noinst_LTLIBRARIES = libdbus-testutils.la
if DBUS_BUILD_TESTS if DBUS_BUILD_TESTS
## break-loader removed for now ## break-loader removed for now
## most of these binaries are used in tests but are not themselves tests ## most of these binaries are used in tests but are not themselves tests
TEST_BINARIES=test-service test-names test-shell-service shell-test spawn-test test-segfault test-exit test-sleep-forever TEST_BINARIES = \
shell-test \
spawn-test \
test-exit \
test-names \
test-segfault \
test-service \
test-shell-service \
test-sleep-forever \
$(NULL)
## these are the things to run in make check (i.e. they are actual tests) ## these are the things to run in make check (i.e. they are actual tests)
## (binaries in here must also be in TEST_BINARIES) ## (binaries in here must also be in TEST_BINARIES)
TESTS=shell-test TESTS = \
else shell-test \
$(NULL)
## These are conceptually part of directories that come earlier in SUBDIRS
## order, but we don't want to run them til we arrive in this directory,
## since they depend on stuff from this directory
TESTS += \
../bus/bus-test$(EXEEXT) \
../bus/bus-test-system$(EXEEXT) \
../dbus/dbus-test$(EXEEXT) \
$(NULL)
if DBUS_UNIX
TESTS += ../bus/bus-test-launch-helper$(EXEEXT)
endif
else !DBUS_BUILD_TESTS
TEST_BINARIES= TEST_BINARIES=
TESTS= TESTS=
endif
endif !DBUS_BUILD_TESTS
noinst_PROGRAMS= $(TEST_BINARIES) noinst_PROGRAMS= $(TEST_BINARIES)
...@@ -91,8 +118,12 @@ installcheck_environment = \ ...@@ -91,8 +118,12 @@ installcheck_environment = \
DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir) DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir)
TESTS_ENVIRONMENT = \ TESTS_ENVIRONMENT = \
DBUS_BLOCK_ON_ABORT=1 \
DBUS_FATAL_WARNINGS=1 \
DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \ DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \
DBUS_TEST_DATA=@abs_top_builddir@/test/data DBUS_TEST_DATA=@abs_top_builddir@/test/data \
DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
$(NULL)
test_corrupt_SOURCES = corrupt.c test_corrupt_SOURCES = corrupt.c
test_corrupt_CPPFLAGS = $(GLIB_CFLAGS) $(DBUS_GLIB_CFLAGS) test_corrupt_CPPFLAGS = $(GLIB_CFLAGS) $(DBUS_GLIB_CFLAGS)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment