Passwords and other secrets are allowed to be empty strings, therefore
the check for length != 0 is wrong.
Add tests for empty SecretValue contents.
https://bugzilla.gnome.org/show_bug.cgi?id=694787
Attributes table that are built by the library itself contain
the xdg:schema meta-attribute. Additionally,
secrets with a SECRET_SCHEMA_COMPAT_NETWORK schema might also have
libgnomekeyring specific meta-attributes (prefixed 'gkr'). During
validation, ensure that the former is consistent with the name
of the schema and ignore the latter.
Add tests for these changes
https://bugzilla.gnome.org/show_bug.cgi?id=694107
* This is necessary because sometimes we don't want to complain,
for expected errors, when running nested operations.
* The fact that we have to do this is silly, and soon there
will be a solution in glib itself.
https://bugzilla.gnome.org/show_bug.cgi?id=688165
* If the default keyring does not exist when storing a secret
try and create it.
* We handle both secrets that correctly return NoSuchObject
and ones that just return the silly DBus UnknownMethod error.
https://bugzilla.gnome.org/show_bug.cgi?id=688165
This does not cause a change in behavior (as evidenced by tests,
at least on linux when built with gcc) but is more correct code,
and less likely to be miscompiled.
The condition (i < 256) in the following loop is always false since i
is of type guchar, which is at most 255.
guchar i;
...
for (i = 1; i < 256; ++i) { ... }
This patch changes i to a larger type gint.
Also in the loop we have:
gcry_md_write (md2, &i, 1);
change it to use gcry_md_putc().
* When passing NULL for a string vararg attribute print
a critical warning.
* Make all attribute warnings critical
* Add tests for the various critical warnings
https://bugzilla.gnome.org/show_bug.cgi?id=686015