MCPcopy Create free account
hub / github.com/Selectively11/CloudRedirect / initSecretService

Function initSecretService

ui-linux/src/oauthservice.cpp:69–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67};
68
69static void initSecretService() {
70 if (g_secretServiceChecked) return;
71 g_secretServiceChecked = true;
72
73 g_libsecret = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_LOCAL);
74 if (!g_libsecret) {
75 qDebug() << "[TokenStorage] libsecret not available:" << dlerror();
76 return;
77 }
78
79 g_libglib = dlopen("libglib-2.0.so.0", RTLD_NOW | RTLD_LOCAL);
80 if (!g_libglib) {
81 qDebug() << "[TokenStorage] libglib not available:" << dlerror();
82 dlclose(g_libsecret);
83 g_libsecret = nullptr;
84 return;
85 }
86
87 secret_password_store_sync = (secret_password_store_sync_fn)dlsym(g_libsecret, "secret_password_store_sync");
88 g_error_free = (g_error_free_fn)dlsym(g_libglib, "g_error_free");
89
90 if (!secret_password_store_sync || !g_error_free) {
91 qDebug() << "[TokenStorage] Failed to resolve libsecret symbols";
92 dlclose(g_libsecret);
93 dlclose(g_libglib);
94 g_libsecret = nullptr;
95 g_libglib = nullptr;
96 return;
97 }
98
99 g_secretServiceAvailable = true;
100 qDebug() << "[TokenStorage] libsecret available, using Secret Service for token storage";
101}
102
103static bool storeTokenInSecretService(const QString& provider, const QString& account, const QString& json) {
104 initSecretService();

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected