[calls] sip: provider: Try to create folder for credentials



commit 77ec258acc5fe226739855c604b80ec8ff13d38b
Author: Evangelos Ribeiro Tzaras <devrtz fortysixandtwo eu>
Date:   Wed Aug 25 19:51:11 2021 +0200

    sip: provider: Try to create folder for credentials
    
    Otherwise the user could be left unable to save credentials to disk later.
    
    Fixes #326

 plugins/sip/calls-sip-provider.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/plugins/sip/calls-sip-provider.c b/plugins/sip/calls-sip-provider.c
index beb470f9..ccf4c779 100644
--- a/plugins/sip/calls-sip-provider.c
+++ b/plugins/sip/calls-sip-provider.c
@@ -591,6 +591,7 @@ calls_sip_provider_account_provider_interface_init (CallsAccountProviderInterfac
 static void
 calls_sip_provider_init (CallsSipProvider *self)
 {
+  g_autofree char *directory = NULL;
   const char *filename_env = g_getenv ("CALLS_SIP_ACCOUNT_FILE");
 
   self->origins = g_list_store_new (CALLS_TYPE_ORIGIN);
@@ -602,6 +603,15 @@ calls_sip_provider_init (CallsSipProvider *self)
                                        APP_DATA_NAME,
                                        SIP_ACCOUNT_FILE,
                                        NULL);
+
+  directory = g_path_get_dirname (self->filename);
+  if (g_mkdir_with_parents (directory, 0750) == -1) {
+    int err_save = errno;
+    g_warning ("Failed to create directory '%s': %d\n"
+               "Can not store credentials persistently!",
+               directory, err_save);
+  }
+
 }
 
 /**


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]