diff options
author | Daniel Santos <dan.git@brilhante.top> | 2023-05-10 18:51:34 +0100 |
---|---|---|
committer | Daniel Santos <dan.git@brilhante.top> | 2023-07-01 10:08:20 +0100 |
commit | 439406a0def941b18850685174dde5daaca7dbf0 (patch) | |
tree | 878c561d6b9cd75a04825ad8dedf808b93dc553a | |
parent | 35351387a197e55f5389545efe3941b58ca94ffd (diff) | |
download | profani-tty-439406a0def941b18850685174dde5daaca7dbf0.tar.gz |
same filename in url open
Signed-off-by: Daniel Santos <dan.git@brilhante.top>
-rw-r--r-- | src/command/cmd_funcs.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index f5535ad9..c50327be 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -9587,6 +9587,23 @@ cmd_url_open(ProfWin* window, const char* const command, gchar** args) #ifdef HAVE_OMEMO // OMEMO URLs (aesgcm://) must be saved and decrypted before being opened. if (g_strcmp0(scheme, "aesgcm") == 0) { + + // Ensure that the downloads directory exists for saving cleartexts. + gchar* downloads_dir = files_get_data_path(DIR_DOWNLOADS); + if (g_mkdir_with_parents(downloads_dir, S_IRWXU) != 0) { + cons_show_error("Failed to create download directory " + "at '%s' with error '%s'", + downloads_dir, strerror(errno)); + g_free(downloads_dir); + goto out; + } + + // Generate an unique filename from the URL that should be stored in the + // downloads directory. + //filename = unique_filename_from_url(url, downloads_dir); + filename = g_strdup_printf("%s/%s", downloads_dir, g_strsplit(g_basename(url), "#", 2)[0]); + g_free(downloads_dir); + // Download, decrypt and open the cleartext version of the AESGCM // encrypted file. _url_aesgcm_method(window, cmd_template, url, NULL); |