about summary refs log tree commit diff stats
path: root/src/tools/http_download.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix duplicate download IDs.IsaacM882023-03-091-7/+8
| | | | | | | | | | Fixes https://github.com/profanity-im/profanity/issues/1794 Explanation The problem is the download's identifier. Downloads are given an ID so they can be referenced later when their progress changes. Currently, the download's ID is the download's URL. When you download the same file twice, you have two downloads with the same ID. Download progress updates are shown on the first of both downloads with the same ID. Solution Change the download's ID from its URL to a random number. A random ID is generated when get_random_string() is called from cmd_funcs.c. Several other functions are updated to cope with the new ID format.
* Spawn external programs asynchronouslyMarouane L2022-10-121-1/+1
| | | | | | | | Drawback is that we can't check the exitcode anymore. But we were unsure why/when we need this, see: https://github.com/profanity-im/profanity/pull/1760/files#r980868708 Fixes https://github.com/profanity-im/profanity/issues/1759
* Tell user where the downloaded file is storedSteffen Jaeckel2022-09-071-2/+2
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Fix a segfault when uploading or downloading filesMaxi Wuttke2022-04-021-1/+1
| | | | The variable `ccount->tls_policy` was not null-tested before `strcmp`.
* apply `tls.policy` to cURL callsSteffen Jaeckel2022-03-221-0/+7
| | | | | | | | | | | | In case the user decides to ignore the validity-state of certificates we also have to configure libcurl accordingly. `tls.policy` can be set via ``` /account set <account> tls trust ``` Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* add profanity-specific CAfileSteffen Jaeckel2022-03-221-0/+6
| | | | | | | | The profanity-internal mechanism to allow connecting to a server isn't easily portable to cURL. Therefor introduce a profanity-specific CAfile which is managed individually and will be configured in libcurl calls. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Get rid of asprintf and _GNU_SOURCE defineMichael Vetter2021-03-301-2/+0
| | | | | | | _GNU_SOURCE was even in some files where it was not needed at all (http*). Let's replace asprintf() with g_strdup_printf().
* Fix deadlock on error before HTTP download has begunWilliam Wennerström2020-12-101-4/+6
|
* Remove cmd_tiny, empty files and link nonce with IVWilliam Wennerström2020-12-071-2/+2
|
* Rework url to filenameWilliam Wennerström2020-12-061-0/+1
|
* Refactor for threaded external executable for built-in download methodsWilliam Wennerström2020-12-031-0/+20
|
* Switch to g_strerrorWilliam Wennerström2020-11-161-7/+3
|
* Move common http tool code to http_commonWilliam Wennerström2020-11-161-47/+5
|
* Add I/O error handling and use filenames instead of file descriptorsWilliam Wennerström2020-11-161-23/+29
|
* Refactor OMEMO download into AESGCMDownload toolWilliam Wennerström2020-11-161-2/+18
|
* Run make format on rebaseWilliam Wennerström2020-11-161-26/+28
|
* Remove unsafe Conent-Disposition inferringWilliam Wennerström2020-11-161-115/+18
|
* Infer filename from content-disposition or URLWilliam Wennerström2020-11-161-7/+118
| | | | | The Content-Disposition inferring is probably a bad idea security wise, so I am going to remove it.
* Add http_download toolWilliam Wennerström2020-11-161-0/+223