Commit graph

5143 commits

Author SHA1 Message Date
Simon McVittie
3d96f366f1 Update NEWS for 1.13.x
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-11-10 16:24:47 +00:00
Simon McVittie
56847ae818 bus_connections_setup_connection: If we can't set it up, log why
While reviewing fd.o#101354, Philip Withnall pointed out that if we
rejected a connection in the new code there, we didn't log why. It
turns out we didn't log that in the more normal code path either.
Redo the error handling so that failure to set up a connection
is logged.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103592
2017-11-10 16:21:07 +00:00
Simon McVittie
293cbd03e3 Update NEWS for 1.13.x
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-11-10 16:20:25 +00:00
Simon McVittie
010223b6d2 DBusNonceFile: Don't rely on caller preallocating the object
If we combine the dbus_new0, populating the DBusString members and the
actual creation of the file, RAII-style, then we never need to worry
about a partially-initialized or uninitialized DBusNonceFile becoming
visible to a caller.

Similarly, if we combine deletion of the file, freeing of the
DBusString members, freeing the structure and clearing the pointer to
the structure, then we can never be in an inconsistent situation,
except during the actual implementation of _dbus_noncefile_delete().

Note that there are two implementations each of
_dbus_noncefile_create() and _dbus_noncefile_delete(). This is because
on Unix we must use a subdirectory of _dbus_get_tmpdir() (the nonce
filename is not created atomically, so that would not be safe), while
on Windows we use the directory directly (the Windows temp directory
is private to a user, so this is OK).

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103597
2017-11-07 12:43:52 +00:00
Simon McVittie
37d5af203c _dbus_accept_with_noncefile: Don't leak nonce
This was always leaked, both on success and on error.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103597
2017-11-07 11:38:53 +00:00
Simon McVittie
6d08f5c04e do_noncefile_create: Avoid freeing uninitialized memory on error
We could free all of these without having ever successfully
initialized them.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103597
2017-11-07 11:38:43 +00:00
Simon McVittie
0ea0e4b0fd do_check_nonce: Don't free uninitialized memory on OOM
If _dbus_string_init() fails, it doesn't guarantee that the string
is initialized to anything in particular. Worse, if
_dbus_string_init (&buffer) fails, p would never have been initialized
at all, due to the use of the short-circuiting || operator.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103597
2017-11-07 11:38:26 +00:00
Simon McVittie
96d878d90c tests: Assert that _DBUS_STRING_DEFINE_STATIC looks as expected
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89104
2017-11-07 11:38:17 +00:00
Simon McVittie
4330c213e7 _DBUS_STRING_DEFINE_STATIC: Don't include zero termination in length
_dbus_string_init_const() doesn't include the trailing '\0' in
the DBusRealString->len, so this surely shouldn't either.
In practice none of the users of _DBUS_STRING_DEFINE_STATIC care one
way or the other, but it seems better to be consistent.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89104
2017-11-07 11:37:48 +00:00
Simon McVittie
3e2463fa1f Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-11-06 17:22:12 +00:00
Simon McVittie
25c54a79a7 test-utils-glib: Add function to connect with GDBus as another uid
This will be used in a test for connecting to container servers
as the wrong uid.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 16:41:13 +00:00
Simon McVittie
2a72903661 test-utils-glib: Factor out functions for switching uid
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 16:41:08 +00:00
Simon McVittie
f5afec02f2 test-utils-glib: Add failable functions to connect to a bus
Instead of calling g_test_skip() internally, raise a distinctive error
and let the caller handle it.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 16:41:05 +00:00
Simon McVittie
f58b77f968 _dbus_asv_add_object_path: Add
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 14:07:21 +00:00
Simon McVittie
d5742550ca Add a simplified backport of g_steal_pointer()
This will be used in tests later in the branch.

Sadly we can't use GLIB_VERSION_2_44 unless we are willing to have a
hard dependency on GLib 2.44, which would force us to do all our
Travis-CI builds in Docker containers rather than in ye olde base
system, and that adds 50% to the time taken to do builds.

Reviewed-by: Philip Withnall <withnall@endlessm.com>
[smcv: Rebase onto 1.13.x branch, fix minor conflicts]
Signed-off-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 14:07:21 +00:00
Simon McVittie
83b439f7b4 cmake: Match AC_DEFINE more precisely, respecting [] quoting
The regular expression previously used here to select the second
comma-delimited argument won't work when we introduce an argument
containing a comma, which I need to do now. We can address this by
recognising Autoconf's quoting mechanism (which uses square
brackets).

This is not 100% right (it doesn't understand nested square brackets),
but it's good enough in practice.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Acked-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 14:07:21 +00:00
Simon McVittie
3c031ef5aa travis-ci: Enable/disable more features in various builds
In the debug build, enable features that are off by default. In the
reduced build, explicitly disable features, some of which are
on by default. In the legacy build, check that we can compile the
default feature-set without inotify, dnotify, systemd, etc.

Reviewed-by: Philip Withnall <withnall@endlessm.com>
[smcv: Rebase onto 1.13.x branch, fix minor conflicts]
Signed-off-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=101354
2017-11-06 14:07:21 +00:00
Simon McVittie
f7875ebff6 Use a micro version that won't break DBUS_VERSION
DBUS_VERSION assumes that major/minor/micro are numeric and less than
256 each.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-11-06 14:00:22 +00:00
Simon McVittie
b6fbe63039 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-31 13:06:48 +00:00
Tony Theodore
216ae1adfc build: Avoid using echo -e
`echo -e` is a GNU extension, and in particular not available on
Darwin.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103493
[smcv: Added commit message]
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-31 13:04:15 +00:00
Simon McVittie
d2617c0353 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-31 11:40:29 +00:00
ilovezfs
c7d8b723eb build: Use $(MKDIR_P) syntax suitable for install-sh
This fixes the build when a GNU-compatible `mkdir -p` is not available.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103521
[smcv: Add commit message]
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-31 11:36:05 +00:00
Simon McVittie
9ebf0004d1 Bump version for 1.13.x branch
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-30 14:49:26 +00:00
Simon McVittie
f163a0e28d Merge branch 'dbus-1.12' 2017-10-30 14:45:29 +00:00
Simon McVittie
98294ab81a Prepare 1.12.0
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-30 12:37:23 +00:00
Simon McVittie
8789dcb08f Merge branch 'dbus-1.12', rejecting stable-branch-only change 2017-10-30 12:36:52 +00:00
Simon McVittie
93efaf7873 Disable deprecation warnings for stable branch
We're not going to replace deprecated functions here, similar to commit
88e0ccb2 in the dbus-1.10 branch.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-30 12:31:03 +00:00
Simon McVittie
d5746922de NEWS for #103420
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-23 16:10:39 +01:00
Simon McVittie
1e8c52c647 build: Remove various unused files from build system
These were in git but not distributed in source tarballs, and in fact
not hooked up to the Autotools build system at all.
test/data/valid-introspection-files was mentioned in the CMake build
system (copied from the source directory to the build directory), but
according to `git grep` is not used for anything.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
27b60e4c5b build: Include README.cmake in Autotools "make dist"
Our official source releases are Autotools "make dist" tarballs, but
there's no reason why CMake users can't use those too, and we already
include the CMake build files.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
7b21a8ab74 build: Distribute individual files and directories from cmake/
If we distribute the entire directory in "make dist" tarballs, then
we include the generated files cmake/DBus1Config.cmake and
cmake/DBus1ConfigVersion.cmake, which we should not.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
a3d6ec26a2 build: Distribute more test data in source tarballs
test-bus exercises the parser by trying to parse every file in these
directories. A couple of files were accidentally left out, meaning
those parsing code paths are tested when we build from git, but not
when we build from a tarball release.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
60993c27e1 build: Don't explicitly clean up configure-generated files
cmake/DBus1Config.cmake, cmake/DBus1ConfigVersion.cmake and dbus-1.pc
are all generated by AC_CONFIG_FILES, so they are automatically listed
in $(CONFIG_CLEAN_FILES) and cleaned in "make distclean" without further
help from us.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
bfee8772bf build: Don't distribute versioninfo.rc in "make dist" tarballs
It's generated by configure, so we should not distribute it.
Because it's generated by configure, it is automatically cleaned up
by "make distclean" via $(CONFIG_CLEAN_FILES).

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103420
2017-10-23 16:08:32 +01:00
Simon McVittie
dd89b359f0 Start towards 1.11.24 (or maybe 1.12.0)
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-23 15:21:58 +01:00
Simon McVittie
f87fea641f Prepare 1.11.22
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-23 11:29:57 +01:00
Simon McVittie
ec51d53828 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-23 11:09:45 +01:00
Ralf Habacker
b23dc40ce3 Do not add custom UAC related manifest to cmake builds for MSVC on Windows
MSVC compiler >= 8.0 (VS 2005) add an identical manifest (with uac level
set to 'asInvoker' specified by /MANIFEST) by default to generated binaries
(see https://msdn.microsoft.com/en-us/library/f2c0w594.aspx for details).

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Reviewed-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=102558
2017-10-23 11:07:17 +01:00
Simon McVittie
6ad07c4c6d Add first draft of release notes for 1.12.0
I'm hoping for 1.11.24 to act as 1.12rc1, with a remarkably similar
1.12.0 release shortly after if all goes well.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-19 17:57:53 +01:00
Simon McVittie
b3c612ac4c Update NEWS for latest versioninfo changes
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-19 17:56:55 +01:00
Ralf Habacker
b59ff3d223 Fix cmake 3.5 configure error on opening a non existant file
Previous cmake versions seemed to be more tolerant.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-18 19:20:02 +02:00
Ralf Habacker
1f1702c442 Update versioninfo.rc.in
- include <windows.h> to be able to use constants
- let versioninfo be visible in explorer by adding a "Translation" value
- change FILEOS from VOS_NT_WINDOWS32, which was intended for Windows NT,
  to VOS__WINDOWS32
- stop setting FILEFLAGS 0x20 (VS_FF_SPECIALBUILD), which is not
  appropriate here because we build the normal version, not a special
  version
- use constants
- fix strings

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-18 19:19:50 +02:00
Simon McVittie
7eb8369a54 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2017-10-18 14:48:51 +01:00
Ralf Habacker
23ad508ae4 Add version info to dbus-1 target for non msvc builds on Windows too
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-18 15:22:15 +02:00
Ralf Habacker
191da55a72 Use cmake build in timestamp function to generate the build time stamp
The recent implementation generates a timestamp containing eol on
linux hosts, which generates unparseable versioninfo.rc.

This commit raises the minimal required cmake version to 3.0.2.

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Reviewed-by: Simon McVittie <smcv@collabora.com>
2017-10-18 15:22:04 +02:00
Simon McVittie
8f84d2d250 Windows: Check for $RC, not $WINDRES
That's what is checked for by LT_LANG([Windows Resource]) further
up, and is what we now use during the build. Its value is typically
i686-w64-mingw32-windres.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2017-10-18 12:46:53 +01:00
Simon McVittie
7fac44f98c Windows: Use libtool-detected RC to compile resources in tools/
We have two variables that both expand to i686-w64-mingw32-windres,
namely WINDRES and RC, and we might as well use the same one as
in dbus/ here. However, it seems we can't wrap windres in libtool
when producing an executable: if we use .rc.lo, my Automake 1.15.1
doesn't realise that it needs to include disable-uac.lo in the
list of objects, whereas if we use .rc.o, Ralf's libtool 2.4.2 and
Automake 1.13.4 disagree on where the output should go
(.libs/disable-uac.o vs. disable-uac.o) and the link fails.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
2017-10-18 12:45:57 +01:00
Simon McVittie
afae60ec6f Windows: Stop manipulating line numbering in versioninfo.rc
If __LINE__ doesn't work in MSVC's resource compiler, then removing
the #line directive altogether seems a simpler fix than redefining
__LINE__ to the wrong value.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2017-10-17 20:24:11 +02:00
Simon McVittie
d03c6d1131 cmake: Stop creating an empty afxres.h
The resource file used to #include this, but it was unnecessary,
and Ralf removed it in commit e3a14eb.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2017-10-17 20:24:11 +02:00
Simon McVittie
7250c73e17 Windows: Simplify compiling versioninfo.rc by using libtool facilities
libtool has built-in support for Windows resources, and we even
enable it in configure.ac. What it doesn't have is a built-in rule
for generating Libtool objects using that built-in support, but
we can add one.

We have to generate Libtool pseudo-objects (.lo) rather than native
object files (.o) so that we get both a PIC object for the shared
library and a non-PIC object for the static library.

This mimics the libtool invocations used for compiling C and C++.
Note that $(RC) is typically i686-w64-mingw32-windres, the same as
our project-specific variable $(WINDRES) which was previously used here.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103015
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2017-10-09 13:36:39 +01:00