Commit Graph

224 Commits

Author SHA1 Message Date
Niels De Graef
8ebc922a54 meson: Fix indentation 2020-06-01 09:09:25 +02:00
Niels De Graef
9959be81fd meson: Clean up unused variables 2020-06-01 09:08:04 +02:00
Kai Kang
1804de769c meson: add option introspection
Add an option 'introspection' for meson which could control whether
build GIR files or not.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
2020-05-21 16:04:48 +08:00
Milan Crha
523fe32b65 secret-file-backend: Fix use-after-free in flatpak
The on_portal_retrieve_secret() can connect a GCancellable, but it
doesn't disconnect from it (only when the cancellable is cancelled),
which means when the cancellable is cancelled later, when the GTask
is gone, the callback is called with already freed data.
2020-03-19 09:24:52 +01:00
Niels De Graef
af389ad6f8 Prefer g_info() over g_message()
Libraries shouldn't really use `g_message()` as it will show up in
consumer application outputs. Let's use `g_info()` instead.

Fixes https://gitlab.gnome.org/GNOME/libsecret/issues/40
2020-03-11 05:35:33 +00:00
Niels De Graef
692e7244be meson: Don't specify shared_library()
Some people might want to statically link to libsecret, so use the more
general `library()` target to build libsecret.
2020-03-10 13:36:33 +00:00
Daiki Ueno
a54f5011fc secret-file-collection: force little-endian in GVariant
As the GVariant serialization format does not record the original
endianness of integer values, we need to ensure that it doesn't change
between write and load.
2020-03-10 13:20:31 +00:00
Daiki Ueno
e6881d4ff1 build: Suppress compiler warning if compiled with G_DISABLE_ASSERT
This is similar to 0be63575ff but for
test-file-collection.c.

Fixes #36.
2020-01-14 10:13:16 +01:00
Daiki Ueno
cf21ad50b6 secret-file-collection: Rename internal functions to avoid conflicts
As encrypt() is a standard POSIX function, its declaration had
conflict with our own.  Let's be more verbose about naming of the
internal crypto functions.

Fixes #35.
2020-01-14 10:09:29 +01:00
Niels De Graef
abb4448ca7 item: Port to GTask
`GSimpleAsyncResult` is deprecated in favor of `GTask`.
2020-01-13 13:21:31 +00:00
Daiki Ueno
06d803c478 meson: Point to the base directory of header files in pkgconfig
Fixes commit 22d11f8b22
2019-10-15 10:33:28 +02:00
Daiki Ueno
fb7368f9fe meson: Use "Requires" instead of "Requires.private" in pkgconfig
Also drop libgcrypt dependency for now.
2019-10-14 18:00:39 +02:00
Abderrahim Kitouni
22d11f8b22 meson: add include directory to the generated pkg-config file
Fixes 300ddc702e
2019-10-14 10:14:45 +01:00
Daiki Ueno
a278adc208 secret-backend: Check if portal is available
Before decising to use the file backend, check if the necessary portal
interface is available on the D-Bus.

Suggested by Patrick Griffis.
2019-10-13 06:21:38 +00:00
Daiki Ueno
8f886f0797 secret-file-backend: Retrieve master password from flatpak portal 2019-10-13 06:21:38 +00:00
Daiki Ueno
2d642b5b7d secret-file-backend: New backend for storing secrets in file
This adds a new backend based on locally stored file.
2019-10-13 06:21:38 +00:00
Fabrice Fontaine
93b7043b5f libsecret.pc: add Libs.private field for libgcrypt
When libgcrypt is available, libsecret links with it. When dynamic
linking is used, there is no problem: libsecret.so has a NEEDED
pointing to libgcrypt, so linking an application with -lsecret works
fine. However, when doing static linking, you must specify the entire
chain of libraries, otherwise you get unresolved symbols errors, such
as:

host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libsecret-1.a(libsecret_1_la-secret-session.o): In function `request_open_session_aes':
build/libsecret-0.18.3/libsecret/secret-session.c:99: undefined reference to `gcry_mpi_release'
build/libsecret-0.18.3/libsecret/secret-session.c:101: undefined reference to `gcry_mpi_aprint'
build/libsecret-0.18.3/libsecret/secret-session.c:107: undefined reference to `gcry_free'

In order to solve this, we simply need to indicate in the Libs.private
field of the .pc file that we depend on libgcrypt.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/libsecret/0001-libsecret.pc-add-Libs.private-field-for-libgcrypt.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-10-12 16:16:11 +00:00
Daiki Ueno
300ddc702e meson: Use pkgconfig module instead of substitution 2019-10-12 02:46:06 +02:00
Rico Tzschichholz
a6317352e8 build: Properly expose backend vfuncs to vapi 2019-10-08 07:55:55 +00:00
Daiki Ueno
060061905a secret-password: Add necessary gir annotations 2019-10-08 07:55:55 +00:00
Daiki Ueno
49e6e0cf60 secret-password: Port to SecretBackend interface 2019-10-08 07:55:55 +00:00
Daiki Ueno
b37d2b8d20 secret-backend: Add a way to uncache singleton instance
This is ugly, but necessary to handle instance uncaching in
SecretBackend when the backend instance is gone.
2019-10-08 07:55:55 +00:00
Daiki Ueno
71a19a95ae secret-service: Implement SecretBackendInterface 2019-10-08 07:55:55 +00:00
Daiki Ueno
a0d10597ee secret-backend: New interface to represent password storage backend
This interface provides a separation between the
frontend (secret_password*) and the backend (SecretService).  That
makes it easier to replace SecretService with a custom backend
implementation.
2019-10-08 07:55:55 +00:00
Daiki Ueno
e6456698ec secret-service: Move parent property setting to constructor
This makes it possible to instantiate a SecretService instance
directly through g_initable_new() or g_async_initable_new_async().
2019-10-08 07:55:55 +00:00
Jan Alexander Steffens (heftig)
aae0329ba3
service: Fix secret_service_ensure_session_finish error propagation
The condition checking g_task_is_valid was inverted, resulting in errors
being ignored.

Move the check to a g_return_val_if_fail to be in line with all other
uses of g_task_is_valid.

Fixes https://bugs.archlinux.org/task/63666
2019-09-05 18:42:26 +02:00
Daiki Ueno
c06c9d2e26 build: Simplify file substitution
Since meson 0.50, configuration_data() can take a dictionary.
2019-07-25 19:59:05 +02:00
Daiki Ueno
a4ea97d6e6 build: Simplify pathname handling
This switches to using relative paths as much as possible, and the "/"
shorthand for join_paths.
2019-07-25 19:59:01 +02:00
Daiki Ueno
e3963efdee secret-password: Mark @schema argument nullable for *v functions
Given these functions take a hash table built from valid attributes,
there is no need to re-validate.  This is also consistent with the
secret_service API.
2019-07-18 13:54:12 +00:00
Daiki Ueno
a5db34dcd5 secret-value: Add secret_value_unref_to_password
This adds the secret_value_unref_to_password function that
unreferences and returns the stored secret in non-pageable memory.
This is supposed to be used with secret_password_lookup_binary*
functions.
2019-07-18 13:54:12 +00:00
Daiki Ueno
2ae6ec89f4 tests: Add tests for binary variant of secret_{lookup,store} 2019-07-18 13:54:12 +00:00
Daiki Ueno
29c1460fd7 secret-password: Add store_binary functions
This adds a set of functions that takes a SecretValue instead of a
text password when storing a secret.  This is useful if the stored
password is not null-terminated.
2019-07-18 13:54:12 +00:00
Daiki Ueno
bac85c00fc secret-password: Add lookup_binary functions
This adds a set of functions that return a SecretValue instead of a
text password when looking up a secret.  This is useful if the stored
password is not null-terminated.
2019-07-18 13:54:12 +00:00
Daiki Ueno
5fedca8ffc secret-password: Add search functions
This adds a set of functions that expose secret_service_search* from
the simple API.
2019-07-18 13:54:12 +00:00
Daiki Ueno
092d4ef47d secret-item: Implement SecretRetrievableInterface 2019-07-18 13:54:12 +00:00
Daiki Ueno
938640ae52 secret-retrievable: New interface to represent read-only item
This is a ground work for adding a local storage backend.  As
SecretItem is derived from GDBusProxy, it cannot be simply exposed to
the application through the secret_password_search() if the item is
not backed by the DBus API.  This adds an abstract interface
representing a read-only view of a secret item for that purpose.
2019-07-18 13:54:12 +00:00
Daiki Ueno
0be63575ff build: Suppress compiler warning if compiled with G_DISABLE_ASSERT 2019-06-29 06:54:40 +02:00
Daiki Ueno
d17e93e696 tests: undef G_DISABLE_ASSERT
Since GLib 2.58, g_test_init started to be no-op if a test is compiled
with G_DISABLE_ASSERT defined.
2019-06-29 06:54:37 +02:00
Daiki Ueno
0e6b542ff5 secret-version: Remove garbage after #endif 2019-06-17 19:32:48 +02:00
Michael Catanzaro
2b4adfb9f4 Fix -Wunknown-pragmas triggered by secret-version.h
In file included from /usr/include/libsecret-1/libsecret/secret.h:33,
                 from ../lib/sync/../ephy-sync-utils.h:24,
                 from ../lib/sync/ephy-history-manager.c:25:
/usr/include/libsecret-1/libsecret/secret-version.h:19: error: ignoring #pragma __once__  [-Werror=unknown-pragmas]
 #pragma __once__

It should be #pragma once, not #pragma __once__.

But let's follow the other public headers here instead.
2019-06-13 15:00:20 +00:00
Sutou Kouhei
c00283ebd0 Add version macros
Added macros:

  * SECRET_VERSION_MAJOR
  * SECRET_VERSION_MINOR
  * SECRET_VERSION_MICRO
  * SECRET_CHECK_VERSION

These macros are widely defined in GLib based library. For example,
GLib, GTK, poppler GLib and so on define them.

These macros are useful to detect libsecret version on build type and
from GObject Introspection based bindings.
2019-06-09 16:38:39 +02:00
Niels De Graef
1f61ecb911 util: Port from GSimpleAsyncResult to GTask 2019-05-18 20:26:20 +02:00
Niels De Graef
9087c668c7 paths: Port from GSimpleAsyncResult to GTask 2019-05-18 19:02:18 +02:00
Niels De Graef
f165f721d8 Port Service and Session to GTask
GSimpleAsyncResult is deprecated in favor of the simpler GTask, so use
that instead. This cuts down on the deprecation warnings.

I wanted to do both separately, but porting one without the other led to
some faulty casts from GSimpleAsyncResult to GTask (and vice versa).
2019-05-15 18:21:34 +02:00
Niels De Graef
929e5c2a3f Stop using g_assert() in unit tests
Apart from having more developer-friendly messages if the assertions go
wrong, it also prevents the assertions not being run if
`G_DISABLE_ASSERT` is defined (e.g. for performance reasons).
2019-05-12 16:31:37 +02:00
Emmanuele Bassi
15902b70b2 Use proper prefix for SecretCollection flags
Commit f36379af33 added the enumeration
GType for SecretCollectionFlags and SecretCollectionCreateFlags in the
introspection data, but by doing so it broke existing users of the
introspected API.

Additionally, the enumeration nicknames—which are used to generate the
enumeration value from the type name and the namespace—were wrong
before, and are wrong now. The idiomatic way to name enumeration members
is to use the uppercase, snake case version of the type name, and append
the value at the end:

  SecretCollectionFlags → SECRET_COLLECTION_FLAGS_NONE
  SecretCollectionCreateFlags → SECRET_COLLECTION_CREATE_FLAGS_NONE

If this practice is not followed, enumerations should use the
glib-mkenums trigraph and the `prefix` option; this tells glib-mkenums,
and the introspection parser after that, where to cut off the prefix and
which part of the enumeration value should be considered the nickname.

Thus, with `prefix=SECRET_COLLECTION` we can turn:

  SECRET_COLLECTION_NONE

into:

  Secret.CollectionFlags.NONE

which is the idiomatic form of an enumeration value.
2019-05-11 00:15:04 +01:00
Kouhei Sutou
65153a2bf4 Remove a needless tab 2019-05-07 11:10:44 +00:00
Kouhei Sutou
f36379af33 Add missing GType to flags in .gir
Here is a sample diff by this change:

    --- Secret-1.gir.before	2019-05-07 15:20:58.252288010 +0900
    +++ Secret-1.gir.after	2019-05-07 15:26:54.314413832 +0900
    @@ -1141,22 +1140,32 @@
           </field>
         </record>
         <bitfield name="CollectionCreateFlags"
    +              glib:type-name="SecretCollectionCreateFlags"
    +              glib:get-type="secret_collection_create_flags_get_type"
                   c:type="SecretCollectionCreateFlags">
           <doc xml:space="preserve">Flags for secret_collection_create().</doc>
    -      <member name="collection_create_none"
    +      <member name="none"
                   value="0"
    -              c:identifier="SECRET_COLLECTION_CREATE_NONE">
    +              c:identifier="SECRET_COLLECTION_CREATE_NONE"
    +              glib:nick="none">
             <doc xml:space="preserve">no flags</doc>
           </member>
         </bitfield>

Other flags such as SecretServiceFlags also have GType in .gir.
2019-05-07 15:27:21 +09:00
Niels De Graef
6658602b6b secret-paths: Add (nullable) if allowed.
This caused segfaults in Seahorse when someone canceled the "Change
Password" dialog for a keyring.

Related to GNOME/seahorse#204
2019-03-01 10:02:05 +01:00
Rico Tzschichholz
50c1d717ca meson: Pass correct header to generate_gir to fix broken vapi 2019-01-25 22:08:37 +01:00
Rico Tzschichholz
8bf566f265 Drop accidentially committed .dirstamp
See b19c309096
2019-01-25 21:59:04 +01:00
Niels De Graef
950b22bab6 Remove deprecated g_type_class_add_private()
Use `G_ADD_PRIVATE()` or its shorthand when defining a type using
`G_DEFINE_TYPE_WITH_PRIVATE()`
2019-01-24 00:07:33 +01:00
Niels De Graef
b483b15d9d Don't end G_DEFINE_AUTOPTR_CLEANUP_FUNC with a ;
Normally it shouldn't matter too much, but the GIR parser apparently
doesn't like it:

```
/home/niels/gnome/libsecret/libsecret/secret-schema.h:75: syntax error, unexpected ';' in ';' at ';'
/home/niels/gnome/libsecret/libsecret/secret-prompt.h:78: syntax error, unexpected ';' in ';' at ';'
/home/niels/gnome/libsecret/libsecret/secret-value.h:54: syntax error, unexpected ';' in ';' at ';'
/home/niels/gnome/libsecret/libsecret/secret-service.h:307: syntax error, unexpected ';' in ';' at ';'
/home/niels/gnome/libsecret/libsecret/secret-collection.h:176: syntax error, unexpected ';' in ';' at ';'
/home/niels/gnome/libsecret/libsecret/secret-item.h:194: syntax error, unexpected ';' in ';' at ';'
```
2019-01-19 23:59:02 +01:00
Niels De Graef
b19c309096 Add build support for Meson
To build with meson, use the following commands:

```
$ meson build
$ ninja -C build
 # in case you want to install
$ ninja -C build install
```
2019-01-19 21:03:56 +00:00
Niels De Graef
80afd20c19 Add support for g_autoptr() to our types
g_autoptr() is a macro that was defined in GLib 2.44 that allows for
basic auto-cleanup of variables. One way to add this kind of support
would be through the use of e.g. `G_DECLARE_DERIVABLE_TYPE()` for our
declarations, but this would consitute an ABI break (due to the
`...Private *` field in the public structs). Instead, we can use
`G_DEFINE_AUTOPTR_CLEANUP_FUNC` to manually declare this.

This commit also bumps the minimally required GLib version to 2.44
2019-01-19 12:42:33 +00:00
Niels De Graef
cbea4ce739 Remove useless macro to check GLib version
We already require GLib to have version 2.38 or higher in
`configure.ac`, so no need to check in our code whether we have a
version higher than 2.35
2019-01-19 12:12:32 +01:00
Daiki Ueno
9c3381b483 Revert "Merge branch 'wip/dueno/search' into 'master'"
This reverts merge request !7
2018-12-07 14:28:20 +00:00
Tomasz Miąsko
5a217c5cae Secret item schema name is optional
Initialize the schema_name so that NULL is returned when the schema name
is absent, instead of an uninitialized memory. Mark return value as
nullable to indicate this for introspection and documentation.
2018-10-19 13:10:15 +02:00
Daiki Ueno
7716449b1d password: Add secret_password_search* functions
Previously there were no functions in the simple API that return the
matched attributes other than the secret value, while there were needs
for augumenting user input with additional information (such as
completing web forms).

This adds a set of functions which wrap secret_service_search*.  Note
that the return value is a list of GHashTable not of SecretItem,
because SecretItem is a subclass of GDBusProxy, which we don't want to
expose from the simple API.

Fixes #16
2018-10-19 12:00:45 +02:00
Daiki Ueno
9ca8f323a9 secret-session: Avoid double-free in service_encode_plain_secret()
As g_variant_builder_add_value() takes ownership of a floating
GVariant, we don't need to unref it afterwards.
2018-07-20 11:01:08 +02:00
Daiki Ueno
a3753c1b2b build: Remove unused constants 2018-06-06 15:14:32 +02:00
Daiki Ueno
a7f2efc450 build: Make DBus code generation more portable
The $'...' quoting syntax is a Bash extension and might not be
available in other Bourne Shell compatible shells:
https://www.gnu.org/software/bash/manual/html_node/Major-Differences-From-The-Bourne-Shell.html#Major-Differences-From-The-Bourne-Shell

https://bugzilla.gnome.org/show_bug.cgi?id=734630
2018-03-31 09:27:23 +02:00
Philip Withnall
b738c9f787 lib/schemas: Add secret_get_schema() accessor for SECRET_SCHEMA_*s
The SECRET_SCHEMA_* extern structs are not introspectable; add a new
accessor function which takes an enum and returns a struct, which is
introspectable.

Mark the old extern structs as (skip), but don’t deprecate them because
they’re still useful from C (if unconventional).

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=697681
2018-03-22 17:46:22 +00:00
Dmitry Shachnev
d3ac1c1834 mock: Pad the common secret with zero bytes to make it exactly 128 bytes long
This is what the C code does, see egg/egg-dh.c:340.

https://bugzilla.gnome.org/show_bug.cgi?id=768112
2017-11-07 15:22:40 +01:00
Ville Skyttä
2624ed771b Spelling fixes 2017-10-15 00:28:01 +03:00
Michael Catanzaro
f76e333d09 secret-methods: Don't unref NULL when search fails
If the gnome-keyring D-Bus service is not responding, we wind up freeing
the SearchClosure in an error path without ever creating a SecretService
object. Guard against this.

https://bugzilla.gnome.org/show_bug.cgi?id=787391
2017-09-06 20:48:24 -05:00
Debarshi Ray
b9151faaf0 secret-value: Don't annotate secret_value_unref as (allow-none)
https://bugzilla.gnome.org/show_bug.cgi?id=785034
2017-07-17 19:41:33 +02:00
Philip Chimento
4d7b190b67 build: Use $-quoted string to escape newline
BSD sed doesn't like escaping a literal newline character with a
backslash. Instead, use a $-quoted string to escape the newline as \n.

https://bugzilla.gnome.org/show_bug.cgi?id=734630
2017-05-22 11:25:20 +02:00
David King
455b70968a Build Vala tests with -fPIC
Fixes a build failure in the tests in the Fedora package.

https://bugzilla.gnome.org/show_bug.cgi?id=777826
https://bugzilla.redhat.com/show_bug.cgi?id=1416818
2017-02-01 12:39:02 +01:00
Garima Gaur
b9fbfbdb00 Remove double check on collection_path in secret-collection.c
Signed-off-by: Stef Walter <stefw@redhat.com>
 * Most of the lines of change seem to be reindentation

https://bugzilla.gnome.org/show_bug.cgi?id=775747
2016-12-12 13:22:27 +01:00
Piotr Drąg
3c1faf4f99 Use Unicode in translatable strings
See https://developer.gnome.org/hig/stable/typography.html

https://bugzilla.gnome.org/show_bug.cgi?id=772528
2016-10-18 11:31:57 +02:00
Robert Ancell
f59f2b6a82 Makefile.am: Compile vala unstable tests with SECRET_WITH_UNSTABLE=1.
Without this the generated C code compiles without the correct header (warnings
are disabled so this is not obvious). This was causing the test to crash on
Ubuntu (exact cause not diagnosed).

https://bugzilla.gnome.org/show_bug.cgi?id=767002
2016-05-30 09:41:20 +02:00
Dmitry Shachnev
ae5761cd65 libsecret: Get rid of PyGI warnings about unspecified versions
https://bugzilla.gnome.org/show_bug.cgi?id=687637
2016-04-07 10:08:54 +02:00
Antonio Murdaca
43cac02864 Fix typos
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Stef Walter <stefw@redhat.com>
 * Fix one spelling of 'succeeded'

https://bugzilla.gnome.org/show_bug.cgi?id=763143
2016-03-08 13:32:07 +01:00
Dmitry Shachnev
7da8c2b70e mock: Remove unused code
https://bugzilla.gnome.org/show_bug.cgi?id=761834
2016-02-14 17:55:09 +01:00
Dmitry Shachnev
847dd055e4 mock: Port to Python 3
https://bugzilla.gnome.org/show_bug.cgi?id=761834
2016-02-14 17:55:09 +01:00
Dmitry Shachnev
be5f98bbdb mock: Port to modern pygobject API
https://bugzilla.gnome.org/show_bug.cgi?id=761834
2016-02-14 17:55:08 +01:00
Michael Catanzaro
0660951db3 Fix typos 2015-11-13 14:35:52 -08:00
Christophe Fergeau
1b55291feb Fix secret_schema_unref detection of 0 refcount
g_atomic_int_add (&schema->refs, -1); will return the value of 'refs'
_before_ adding -1 to it, so checking this value for 0 to see if the
refcount dropped to 0 after adding -1 is not going to work and will
cause a leak.
Using g_atomic_int_dec_and_test() fixes this problem as this will return
TRUE when the value drops to 0 after being decremented.

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:11:19 +02:00
Christophe Fergeau
b8bd3d0de8 secret-sync: Fix SecretSync leak
The memory allocated for the SecretSync instance itself was not freed. This fixes:
==7106== 24 bytes in 1 blocks are definitely lost in loss record 855 of 1,629
==7106==    at 0x4C2A9C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==7106==    by 0x600303F: g_malloc0 (gmem.c:124)
==7106==    by 0x6003322: g_malloc0_n (gmem.c:354)
==7106==    by 0x4E6979D: _secret_sync_new (secret-util.c:441)
==7106==    by 0x4E65D11: secret_service_read_alias_dbus_path_sync (secret-paths.c:2334)
==7106==    by 0x4E4E09E: secret_collection_for_alias_sync (secret-collection.c:2221)
==7106==    by 0x40270E: test_for_alias_sync (test-collection.c:187)
==7106==    by 0x60258FA: test_case_run (gtestutils.c:2158)
==7106==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
==7106==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
==7106==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
==7106==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
==7106==    by 0x4E7CA3B: egg_tests_run_with_loop (egg-testing.c:167)
==7106==    by 0x406948: main (test-collection.c:1033)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
ec33acd46e Free CollectionClosure::collection_path when it's freed
Similarly to what is done ItemClosure::collection_path, make sure that
CollectionClosure::collection_path is freed in
collection_closure_free().

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
396d192a1f Don't leak ItemClosure::collection_path
This fixes:
==17724== 48 bytes in 1 blocks are definitely lost in loss record 1,135 of 1,698
==17724==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==17724==    by 0x6002FCC: g_malloc (gmem.c:94)
==17724==    by 0x60032AE: g_malloc_n (gmem.c:330)
==17724==    by 0x601DBF0: g_strdup (gstrfuncs.c:363)
==17724==    by 0x4E650B5: on_create_item_called (secret-paths.c:1990)
==17724==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==17724==    by 0x5A33575: g_task_return (gtask.c:1162)
==17724==    by 0x5A33E76: g_task_return_pointer (gtask.c:1537)
==17724==    by 0x5A9BB7D: g_dbus_connection_call_done (gdbusconnection.c:5704)
==17724==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==17724==    by 0x5A334B6: complete_in_idle_cb (gtask.c:1118)
==17724==    by 0x5FFD3D0: g_idle_dispatch (gmain.c:5441)
==17724==    by 0x5FFAA18: g_main_dispatch (gmain.c:3154)
==17724==    by 0x5FFB85C: g_main_context_dispatch (gmain.c:3769)
==17724==    by 0x5FFBA40: g_main_context_iterate (gmain.c:3840)
==17724==    by 0x5FFBE66: g_main_loop_run (gmain.c:4034)
==17724==    by 0x4E55FF7: secret_service_store_sync (secret-methods.c:1281)
==17724==    by 0x404AC8: test_store_sync (test-methods.c:736)
==17724==    by 0x60258FA: test_case_run (gtestutils.c:2158)
==17724==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
==17724==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
==17724==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
==17724==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
==17724==    by 0x4E7CA68: egg_tests_run_with_loop (egg-testing.c:167)
==17724==    by 0x406190: main (test-methods.c:998)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
d9f5479963 collection: Fix on_create_path() leak
This fixes:
==2111== 45 bytes in 1 blocks are definitely lost in loss record 1,180 of 1,795
==2111==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==2111==    by 0x6002FCC: g_malloc (gmem.c:94)
==2111==    by 0x60032AE: g_malloc_n (gmem.c:330)
==2111==    by 0x601DBF0: g_strdup (gstrfuncs.c:363)
==2111==    by 0x603C073: g_variant_dup_string (gvariant.c:1503)
==2111==    by 0x4E644D5: on_create_collection_prompt (secret-paths.c:1682)
==2111==    by 0x5A1CB66: g_simple_async_result_complete (gsimpleasyncresult.c:801)
==2111==    by 0x4E5C12F: on_real_prompt_completed (secret-service.c:322)
==2111==    by 0x5A1CB66: g_simple_async_result_complete (gsimpleasyncresult.c:801)
==2111==    by 0x4E5A6A1: perform_prompt_complete (secret-prompt.c:288)
==2111==    by 0x4E5A7B5: on_prompt_completed (secret-prompt.c:314)
==2111==    by 0x5A97B7B: emit_signal_instance_in_idle_cb (gdbusconnection.c:3701)
==2111==    by 0x5FFD3D0: g_idle_dispatch (gmain.c:5441)
==2111==    by 0x5FFAA18: g_main_dispatch (gmain.c:3154)
==2111==    by 0x5FFB85C: g_main_context_dispatch (gmain.c:3769)
==2111==    by 0x5FFBA40: g_main_context_iterate (gmain.c:3840)
==2111==    by 0x5FFBE66: g_main_loop_run (gmain.c:4034)
==2111==    by 0x4E7C9E1: loop_wait_until (egg-testing.c:151)
==2111==    by 0x4E7C859: egg_test_wait_until (egg-testing.c:105)
==2111==    by 0x4032ED: test_create_async (test-collection.c:328)
==2111==    by 0x60258FA: test_case_run (gtestutils.c:2158)
==2111==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
==2111==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
==2111==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
==2111==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
==2111==    by 0x4E7CA3B: egg_tests_run_with_loop (egg-testing.c:167)
==2111==    by 0x406948: main (test-collection.c:1033)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
91ee4c847d test-collection: Fix string leaks
This fixes:
==16832== 6 bytes in 1 blocks are definitely lost in loss record 8 of 1,184
==16832==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16832==    by 0x36E564F679: g_malloc (gmem.c:97)
==16832==    by 0x36E56688AE: g_strdup (gstrfuncs.c:356)
==16832==    by 0x4C2B242: secret_collection_get_label (secret-collection.c:1835)
==16832==    by 0x40313D: test_create_sync (test-collection.c:305)
==16832==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16832==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16832==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16832==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16832==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16832==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16832==    by 0x4068B0: main (test-collection.c:1028)
==16832==-
==16832== 6 bytes in 1 blocks are definitely lost in loss record 9 of 1,184
==16832==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16832==    by 0x36E564F679: g_malloc (gmem.c:97)
==16832==    by 0x36E56688AE: g_strdup (gstrfuncs.c:356)
==16832==    by 0x4C2B242: secret_collection_get_label (secret-collection.c:1835)
==16832==    by 0x40337C: test_create_async (test-collection.c:333)
==16832==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16832==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16832==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16832==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16832==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16832==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16832==    by 0x4068B0: main (test-collection.c:1028)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
d416da7705 test-collection: Fix GError leaks
This fixes (among others):
==16832== 95 (16 direct, 79 indirect) bytes in 1 blocks are definitely lost in loss record 927 of 1,184
==16832==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16832==    by 0x36E564F679: g_malloc (gmem.c:97)
==16832==    by 0x36E5666CD2: g_slice_alloc (gslice.c:1007)
==16832==    by 0x36E563522B: g_error_new_valist (gerror.c:386)
==16832==    by 0x36E563560A: g_set_error (gerror.c:560)
==16832==    by 0x4C27FB4: secret_collection_initable_init (secret-collection.c:543)
==16832==    by 0x36E6E5D83E: g_initable_new_valist (ginitable.c:228)
==16832==    by 0x36E6E5D8F5: g_initable_new (ginitable.c:146)
==16832==    by 0x4C3E1E3: secret_collection_new_for_dbus_path_sync (secret-paths.c:158)
==16832==    by 0x404733: test_delete_sync (test-collection.c:623)
==16832==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16832==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16832==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16832==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16832==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16832==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16832==    by 0x4068B0: main (test-collection.c:1028)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
b6189a95e9 prompt: Don't leak 'owner_name' in secret_prompt_perform()
This fixes:
==16832== 7 bytes in 1 blocks are definitely lost in loss record 10 of 1,184
==16832==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16832==    by 0x36E564F679: g_malloc (gmem.c:97)
==16832==    by 0x36E56688AE: g_strdup (gstrfuncs.c:356)
==16832==    by 0x36E6EDEB98: g_dbus_proxy_get_name_owner (gdbusproxy.c:2372)
==16832==    by 0x4C38B64: secret_prompt_perform (secret-prompt.c:468)
==16832==    by 0x4C39F4C: secret_service_real_prompt_async (secret-service.c:339)
==16832==    by 0x4C3D126: secret_service_prompt (secret-service.c:1711)
==16832==    by 0x4C42182: on_create_collection_called (secret-paths.c:1706)
==16832==    by 0x36E6E74BA6: g_simple_async_result_complete (gsimpleasyncresult.c:763)
==16832==    by 0x36E6ED1921: g_dbus_connection_call_done (gdbusconnection.c:5508)
==16832==    by 0x36E6E74BA6: g_simple_async_result_complete (gsimpleasyncresult.c:763)
==16832==    by 0x36E6E74C08: complete_in_idle_cb (gsimpleasyncresult.c:775)
==16832==    by 0x36E5649A89: g_main_dispatch (gmain.c:3122)
==16832==    by 0x36E5649A89: g_main_context_dispatch (gmain.c:3737)
==16832==    by 0x36E5649E1F: g_main_context_iterate.isra.29 (gmain.c:3808)
==16832==    by 0x36E564A141: g_main_loop_run (gmain.c:4002)
==16832==    by 0x4C427F1: secret_service_create_collection_dbus_path_sync (secret-paths.c:1908)
==16832==    by 0x4C299F9: secret_collection_create_sync (secret-collection.c:1211)
==16832==    by 0x403084: test_create_sync (test-collection.c:299)
==16832==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16832==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16832==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16832==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16832==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16832==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16832==    by 0x4068B0: main (test-collection.c:1028)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
c8931ab6fc test-prompt: Fix GError leak
https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
6fbfb64b17 item: Fix local variable leak in on_create_path()
This fixes:
==22678== 48 bytes in 1 blocks are definitely lost in loss record 1,045 of 1,560
==22678==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22678==    by 0x6002FCC: g_malloc (gmem.c:94)
==22678==    by 0x60032AE: g_malloc_n (gmem.c:330)
==22678==    by 0x601DBF0: g_strdup (gstrfuncs.c:363)
==22678==    by 0x4E6508B: on_create_item_called (secret-paths.c:1991)
==22678==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==22678==    by 0x5A33575: g_task_return (gtask.c:1162)
==22678==    by 0x5A33E76: g_task_return_pointer (gtask.c:1537)
==22678==    by 0x5A9BB7D: g_dbus_connection_call_done (gdbusconnection.c:5704)
==22678==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==22678==    by 0x5A334B6: complete_in_idle_cb (gtask.c:1118)
==22678==    by 0x5FFD3D0: g_idle_dispatch (gmain.c:5441)
==22678==    by 0x5FFAA18: g_main_dispatch (gmain.c:3154)
==22678==    by 0x5FFB85C: g_main_context_dispatch (gmain.c:3769)
==22678==    by 0x5FFBA40: g_main_context_iterate (gmain.c:3840)
==22678==    by 0x5FFBE66: g_main_loop_run (gmain.c:4034)
==22678==    by 0x4E7C9E4: loop_wait_until (egg-testing.c:151)
==22678==    by 0x4E7C85C: egg_test_wait_until (egg-testing.c:105)
==22678==    by 0x402D22: test_create_async (test-item.c:245)
==22678==    by 0x60258FA: test_case_run (gtestutils.c:2158)
==22678==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
==22678==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
==22678==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
==22678==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
==22678==    by 0x4E7CA3E: egg_tests_run_with_loop (egg-testing.c:167)
==22678==    by 0x406B52: main (test-item.c:887)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
2c5567cd65 item: Free SecreItem::value in finalize()
This fixes:
==20768== 67 (40 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 1,133 of 1,588
==20768==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==20768==    by 0x6002FCC: g_malloc (gmem.c:94)
==20768==    by 0x601B523: g_slice_alloc (gslice.c:1007)
==20768==    by 0x601B563: g_slice_alloc0 (gslice.c:1032)
==20768==    by 0x4E5FB64: secret_value_new_full (secret-value.c:140)
==20768==    by 0x4E67B63: service_decode_aes_secret (secret-session.c:457)
==20768==    by 0x4E67D6B: _secret_session_decode_secret (secret-session.c:513)
==20768==    by 0x4E50A61: on_item_load_secret (secret-item.c:1157)
==20768==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==20768==    by 0x5A33575: g_task_return (gtask.c:1162)
==20768==    by 0x5A33E76: g_task_return_pointer (gtask.c:1537)
==20768==    by 0x5AAC7E6: reply_cb (gdbusproxy.c:2579)
==20768==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==20768==    by 0x5A33575: g_task_return (gtask.c:1162)
==20768==    by 0x5A33E76: g_task_return_pointer (gtask.c:1537)
==20768==    by 0x5A9BB7D: g_dbus_connection_call_done (gdbusconnection.c:5704)
==20768==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
==20768==    by 0x5A334B6: complete_in_idle_cb (gtask.c:1118)
==20768==    by 0x5FFD3D0: g_idle_dispatch (gmain.c:5441)
==20768==    by 0x5FFAA18: g_main_dispatch (gmain.c:3154)
==20768==    by 0x5FFB85C: g_main_context_dispatch (gmain.c:3769)
==20768==    by 0x5FFBA40: g_main_context_iterate (gmain.c:3840)
==20768==    by 0x5FFBE66: g_main_loop_run (gmain.c:4034)
==20768==    by 0x4E510DA: secret_item_load_secret_sync (secret-item.c:1311)
==20768==    by 0x405238: test_load_secret_sync (test-item.c:592)
==20768==    by 0x60258FA: test_case_run (gtestutils.c:2158)
==20768==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
==20768==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
==20768==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
==20768==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
==20768==    by 0x4E7CA25: egg_tests_run_with_loop (egg-testing.c:167)
==20768==    by 0x406B52: main (test-item.c:887)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
4a7de5a403 test-item: Fix string leaks
This fixes:

==16901== 7 bytes in 1 blocks are definitely lost in loss record 9 of 1,154
==16901==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16901==    by 0x36E564F679: g_malloc (gmem.c:97)
==16901==    by 0x36E56688AE: g_strdup (gstrfuncs.c:356)
==16901==    by 0x4C3098F: secret_item_get_label (secret-item.c:1922)
==16901==    by 0x402A65: test_create_sync (test-item.c:203)
==16901==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16901==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16901==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16901==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16901==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16901==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16901==    by 0x406AAE: main (test-item.c:880)
==16901==-
==16901== 7 bytes in 1 blocks are definitely lost in loss record 10 of 1,154
==16901==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16901==    by 0x36E564F679: g_malloc (gmem.c:97)
==16901==    by 0x36E56688AE: g_strdup (gstrfuncs.c:356)
==16901==    by 0x4C3098F: secret_item_get_label (secret-item.c:1922)
==16901==    by 0x402DB6: test_create_async (test-item.c:249)
==16901==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16901==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16901==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16901==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16901==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16901==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16901==    by 0x406AAE: main (test-item.c:880)
==16901==-

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
66888a1e6a test-item: Fix GHashTable leak
This fixes:
==16901== 248 (88 direct, 160 indirect) bytes in 1 blocks are definitely lost in loss record 1,108 of 1,154
==16901==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16901==    by 0x36E564F679: g_malloc (gmem.c:97)
==16901==    by 0x36E5666CD2: g_slice_alloc (gslice.c:1007)
==16901==    by 0x36E563860D: g_hash_table_new_full (ghash.c:711)
==16901==    by 0x4047B2: test_set_attributes_async (test-item.c:493)
==16901==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16901==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16901==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16901==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16901==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16901==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16901==    by 0x406AAE: main (test-item.c:880)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
cd96ccffcd test-item: Fix GError leak
This fixes:
==16901== 94 (16 direct, 78 indirect) bytes in 1 blocks are definitely lost in loss record 901 of 1,154
==16901==    at 0x4A06C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16901==    by 0x36E564F679: g_malloc (gmem.c:97)
==16901==    by 0x36E5666CD2: g_slice_alloc (gslice.c:1007)
==16901==    by 0x36E563522B: g_error_new_valist (gerror.c:386)
==16901==    by 0x36E563560A: g_set_error (gerror.c:560)
==16901==    by 0x4C2CFB2: secret_item_initable_init (secret-item.c:480)
==16901==    by 0x36E6E5D83E: g_initable_new_valist (ginitable.c:228)
==16901==    by 0x36E6E5D8F5: g_initable_new (ginitable.c:146)
==16901==    by 0x4C3E711: secret_item_new_for_dbus_path_sync (secret-paths.c:286)
==16901==    by 0x402506: test_new_sync_noexist (test-item.c:121)
==16901==    by 0x36E566FB92: test_case_run (gtestutils.c:2124)
==16901==    by 0x36E566FB92: g_test_run_suite_internal (gtestutils.c:2185)
==16901==    by 0x36E566FD5A: g_test_run_suite_internal (gtestutils.c:2196)
==16901==    by 0x36E56700DA: g_test_run_suite (gtestutils.c:2249)
==16901==    by 0x36E5670110: g_test_run (gtestutils.c:1553)
==16901==    by 0x4C5A0EA: egg_tests_run_with_loop (egg-testing.c:167)
==16901==    by 0x406AAE: main (test-item.c:880)

https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
a2e76aede7 Fix 'attributes' typo in API doc
https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Christophe Fergeau
1be4264b76 secret-item: Fix 'convenince' typo
https://bugzilla.gnome.org/show_bug.cgi?id=756766
2015-10-19 12:09:50 +02:00
Stef Walter
ad77f143e6 libsecret: Fix up the tests for recent regressions 2015-04-14 10:48:19 +02:00
Stef Walter
e8a2b3cd5a Add license headers to enum template files 2014-12-04 22:50:26 +01:00
Stef Walter
d205542ba3 Fix for GObject-Introspection annotation changes
The GTK-Doc form of annotations is deprecated.
2014-09-09 15:18:33 +02:00
Stef Walter
068e80451b Makefile.am: Fix make distcheck again 2014-03-05 12:59:48 +01:00
Stef Walter
0d116b7177 libsecret: Fix uninitialized access in _secret_attributes_validate() 2014-03-05 12:59:48 +01:00
Stef Walter
460d36e32c Makefile.am: Look in $builddir for headers when building vala tests 2014-03-04 23:42:42 +01:00