diff --git a/src/bun.js/bindings/SecretsLinux.cpp b/src/bun.js/bindings/SecretsLinux.cpp index dd367a263c..56a9972d8a 100644 --- a/src/bun.js/bindings/SecretsLinux.cpp +++ b/src/bun.js/bindings/SecretsLinux.cpp @@ -25,6 +25,7 @@ typedef int gboolean; typedef char gchar; typedef void* gpointer; typedef unsigned int guint; +typedef int gint; // GLib constants #define G_FALSE 0 @@ -38,7 +39,8 @@ typedef enum { typedef enum { SECRET_SCHEMA_ATTRIBUTE_STRING = 0, - SECRET_SCHEMA_ATTRIBUTE_INTEGER = 1 + SECRET_SCHEMA_ATTRIBUTE_INTEGER = 1, + SECRET_SCHEMA_ATTRIBUTE_BOOLEAN = 2 } SecretSchemaAttributeType; typedef struct { @@ -50,6 +52,16 @@ struct _SecretSchema { const gchar* name; SecretSchemaFlags flags; SecretSchemaAttribute attributes[32]; + + /* */ + gint reserved; + gpointer reserved1; + gpointer reserved2; + gpointer reserved3; + gpointer reserved4; + gpointer reserved5; + gpointer reserved6; + gpointer reserved7; }; struct _GError { @@ -126,9 +138,6 @@ public: void* cancellable, GError** error); - // Collection name constant - const gchar* SECRET_COLLECTION_DEFAULT; - LibsecretFramework() : secret_handle(nullptr) , glib_handle(nullptr) @@ -213,13 +222,6 @@ private: secret_item_get_attributes = (GHashTable * (*)(SecretItem*)) dlsym(secret_handle, "secret_item_get_attributes"); secret_item_load_secret_sync = (gboolean(*)(SecretItem*, void*, GError**))dlsym(secret_handle, "secret_item_load_secret_sync"); - // Load constants - void* ptr = dlsym(secret_handle, "SECRET_COLLECTION_DEFAULT"); - if (ptr) - SECRET_COLLECTION_DEFAULT = *(const gchar**)ptr; - else - SECRET_COLLECTION_DEFAULT = "default"; - return g_error_free && g_free && g_hash_table_new && g_hash_table_destroy && g_hash_table_lookup && g_hash_table_insert && g_list_free && secret_password_store_sync && secret_password_lookup_sync && secret_password_clear_sync && secret_password_free; } };