diff options
author | John Hernandez <129467592+H3rnand3zzz@users.noreply.github.com> | 2023-04-03 17:58:09 +0200 |
---|---|---|
committer | John Hernandez <129467592+H3rnand3zzz@users.noreply.github.com> | 2023-04-09 14:17:01 +0200 |
commit | 5d3c8ce7c164f74f606ff06d1adf849821591a51 (patch) | |
tree | 22163056dd27624216d91de3ab8b4053e5289a7b /src/config | |
parent | 6b597f6608c454e48000847bb3c0b5c2fdc4f292 (diff) | |
download | profani-tty-5d3c8ce7c164f74f606ff06d1adf849821591a51.tar.gz |
Allow setting client identification name/version manually
Add changes allowing user to switch client name and version. Useful for enhancing user privacy. Minor cleanup.
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/account.c | 6 | ||||
-rw-r--r-- | src/config/account.h | 4 | ||||
-rw-r--r-- | src/config/accounts.c | 19 | ||||
-rw-r--r-- | src/config/accounts.h | 2 |
4 files changed, 28 insertions, 3 deletions
diff --git a/src/config/account.c b/src/config/account.c index 89436f9a..73740b3a 100644 --- a/src/config/account.c +++ b/src/config/account.c @@ -56,7 +56,8 @@ account_new(gchar* name, gchar* jid, gchar* password, gchar* eval_password, gboo gchar* otr_policy, GList* otr_manual, GList* otr_opportunistic, GList* otr_always, gchar* omemo_policy, GList* omemo_enabled, GList* omemo_disabled, GList* ox_enabled, GList* pgp_enabled, gchar* pgp_keyid, - gchar* startscript, gchar* theme, gchar* tls_policy, gchar* auth_policy) + gchar* startscript, gchar* theme, gchar* tls_policy, gchar* auth_policy, + gchar* client) { ProfAccount* new_account = calloc(1, sizeof(ProfAccount)); @@ -131,6 +132,8 @@ account_new(gchar* name, gchar* jid, gchar* password, gchar* eval_password, gboo new_account->startscript = startscript; + new_account->client = client; + new_account->theme = theme; new_account->tls_policy = tls_policy; @@ -226,6 +229,7 @@ account_free(ProfAccount* account) free(account->omemo_policy); free(account->pgp_keyid); free(account->startscript); + free(account->client); free(account->theme); free(account->tls_policy); free(account->auth_policy); diff --git a/src/config/account.h b/src/config/account.h index a469e068..f82a3e11 100644 --- a/src/config/account.h +++ b/src/config/account.h @@ -71,6 +71,7 @@ typedef struct prof_account_t gchar* theme; gchar* tls_policy; gchar* auth_policy; + gchar* client; } ProfAccount; ProfAccount* account_new(gchar* name, gchar* jid, gchar* password, gchar* eval_password, gboolean enabled, @@ -80,7 +81,8 @@ ProfAccount* account_new(gchar* name, gchar* jid, gchar* password, gchar* eval_p gchar* otr_policy, GList* otr_manual, GList* otr_opportunistic, GList* otr_always, gchar* omemo_policy, GList* omemo_enabled, GList* omemo_disabled, GList* ox_enabled, GList* pgp_enabled, gchar* pgp_keyid, - gchar* startscript, gchar* theme, gchar* tls_policy, gchar* auth_policy); + gchar* startscript, gchar* theme, gchar* tls_policy, gchar* auth_policy, + gchar* client); char* account_create_connect_jid(ProfAccount* account); gboolean account_eval_password(ProfAccount* account); void account_free(ProfAccount* account); diff --git a/src/config/accounts.c b/src/config/accounts.c index 9c7eddf9..f7e6e456 100644 --- a/src/config/accounts.c +++ b/src/config/accounts.c @@ -329,6 +329,11 @@ accounts_get_account(const char* const name) startscript = g_key_file_get_string(accounts, name, "script.start", NULL); } + gchar* client = NULL; + if (g_key_file_has_key(accounts, name, "client.name", NULL)) { + client = g_key_file_get_string(accounts, name, "client.name", NULL); + } + gchar* theme = NULL; if (g_key_file_has_key(accounts, name, "theme", NULL)) { theme = g_key_file_get_string(accounts, name, "theme", NULL); @@ -348,7 +353,7 @@ accounts_get_account(const char* const name) priority_dnd, muc_service, muc_nick, otr_policy, otr_manual, otr_opportunistic, otr_always, omemo_policy, omemo_enabled, omemo_disabled, ox_enabled, pgp_enabled, pgp_keyid, - startscript, theme, tls_policy, auth_policy); + startscript, theme, tls_policy, auth_policy, client); return new_account; } @@ -552,6 +557,12 @@ accounts_set_script_start(const char* const account_name, const char* const valu } void +accounts_set_client(const char* const account_name, const char* const value) +{ + _accounts_set_string_option(account_name, "client.name", value); +} + +void accounts_set_theme(const char* const account_name, const char* const value) { _accounts_set_string_option(account_name, "theme", value); @@ -594,6 +605,12 @@ accounts_clear_script_start(const char* const account_name) } void +accounts_clear_client(const char* const account_name) +{ + _accounts_clear_string_option(account_name, "client.name"); +} + +void accounts_clear_theme(const char* const account_name) { _accounts_clear_string_option(account_name, "theme"); diff --git a/src/config/accounts.h b/src/config/accounts.h index 2f594a2f..c5b829c0 100644 --- a/src/config/accounts.h +++ b/src/config/accounts.h @@ -87,6 +87,7 @@ gint accounts_get_priority_for_presence_type(const char* const account_name, resource_presence_t presence_type); void accounts_set_pgp_keyid(const char* const account_name, const char* const value); void accounts_set_script_start(const char* const account_name, const char* const value); +void accounts_set_client(const char* const account_name, const char* const value); void accounts_set_theme(const char* const account_name, const char* const value); void accounts_clear_password(const char* const account_name); void accounts_clear_eval_password(const char* const account_name); @@ -95,6 +96,7 @@ void accounts_clear_port(const char* const account_name); void accounts_clear_otr(const char* const account_name); void accounts_clear_pgp_keyid(const char* const account_name); void accounts_clear_script_start(const char* const account_name); +void accounts_clear_client(const char* const account_name); void accounts_clear_theme(const char* const account_name); void accounts_clear_muc(const char* const account_name); void accounts_clear_resource(const char* const account_name); |