When available, use gnome keyring memory utilities to allocate
non-cacheable memory to store passwords in memory.
src_moonshot_webp_VALAFLAGS = --vapidir=$(top_srcdir)/libmoonshot --pkg gtk+-2.0 --pkg gdk-2.0 --pkg libmoonshot $(AM_VALAFLAGS)
src_moonshot_webp_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS)
src_moonshot_webp_LDADD = $(moonshot_LIBS) ${top_builddir}/libmoonshot/libmoonshot.la
src_moonshot_webp_VALAFLAGS = --vapidir=$(top_srcdir)/libmoonshot --pkg gtk+-2.0 --pkg gdk-2.0 --pkg libmoonshot $(AM_VALAFLAGS)
src_moonshot_webp_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS)
src_moonshot_webp_LDADD = $(moonshot_LIBS) ${top_builddir}/libmoonshot/libmoonshot.la
+src_moonshot_webp_LDFLAGS =
AM_CPPFLAGS += -I/usr/include/gnome-keyring-1
AM_VALAFLAGS += --pkg moonshot-gnome-keyring --define=GNOME_KEYRING
src_moonshot_LDFLAGS += -lgnome-keyring
AM_CPPFLAGS += -I/usr/include/gnome-keyring-1
AM_VALAFLAGS += --pkg moonshot-gnome-keyring --define=GNOME_KEYRING
src_moonshot_LDFLAGS += -lgnome-keyring
+src_moonshot_webp_LDFLAGS += -lgnome-keyring
## Installing mime type data
mimedir = $(datadir)/mime/packages
## Installing mime type data
mimedir = $(datadir)/mime/packages
public string display_name { get; set; default = ""; }
public string username { get; set; default = ""; }
public string display_name { get; set; default = ""; }
public string username { get; set; default = ""; }
+#if GNOME_KEYRING
+ private unowned string _password;
+ public string password {
+ get {
+ return _password;
+ }
+ set {
+ if (_password != null) {
+ GnomeKeyring.memory_free((void *)_password);
+ _password = null;
+ }
+ if (value != null)
+ _password = GnomeKeyring.memory_strdup(value);
+ }
+ }
+#else
public string password { get; set; default = null; }
public string password { get; set; default = null; }
public string issuer { get; set; default = ""; }
public string issuer { get; set; default = ""; }
card.display_name = NO_IDENTITY;
return card;
}
card.display_name = NO_IDENTITY;
return card;
}
+
+ ~IdCard() {
+ password = null;
+ }