libalpm: pass handle to alpm_temporary_download_dir_setup

This commit is contained in:
morganamilo 2025-05-20 12:28:24 +01:00
parent 3370dd586a
commit f6aa79c10a
No known key found for this signature in database
GPG key ID: E48D0A8326DE47C5
5 changed files with 7 additions and 6 deletions

View file

@ -153,7 +153,7 @@ int SYMEXPORT alpm_db_update(alpm_handle_t *handle, alpm_list_t *dbs, int force)
syncpath = get_sync_dir(handle); syncpath = get_sync_dir(handle);
ASSERT(syncpath != NULL, return -1); ASSERT(syncpath != NULL, return -1);
temporary_syncpath = _alpm_temporary_download_dir_setup(syncpath, handle->sandboxuser); temporary_syncpath = _alpm_temporary_download_dir_setup(handle, syncpath);
ASSERT(temporary_syncpath != NULL, FREE(syncpath); return -1); ASSERT(temporary_syncpath != NULL, FREE(syncpath); return -1);
/* make sure we have a sane umask */ /* make sure we have a sane umask */

View file

@ -1304,7 +1304,7 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
/* find a valid cache dir to download to */ /* find a valid cache dir to download to */
cachedir = _alpm_filecache_setup(handle); cachedir = _alpm_filecache_setup(handle);
temporary_cachedir = _alpm_temporary_download_dir_setup(cachedir, handle->sandboxuser); temporary_cachedir = _alpm_temporary_download_dir_setup(handle, cachedir);
ASSERT(temporary_cachedir != NULL, return -1); ASSERT(temporary_cachedir != NULL, return -1);
for(i = urls; i; i = i->next) { for(i = urls; i; i = i->next) {

View file

@ -780,7 +780,7 @@ static int download_files(alpm_handle_t *handle)
alpm_list_t *payloads = NULL; alpm_list_t *payloads = NULL;
cachedir = _alpm_filecache_setup(handle); cachedir = _alpm_filecache_setup(handle);
temporary_cachedir = _alpm_temporary_download_dir_setup(cachedir, handle->sandboxuser); temporary_cachedir = _alpm_temporary_download_dir_setup(handle, cachedir);
if(temporary_cachedir == NULL) { if(temporary_cachedir == NULL) {
ret = -1; ret = -1;
goto finish; goto finish;

View file

@ -949,12 +949,13 @@ const char *_alpm_filecache_setup(alpm_handle_t *handle)
/** Create a temporary directory under the supplied directory. /** Create a temporary directory under the supplied directory.
* The new directory is writable by the download user, and will be * The new directory is writable by the download user, and will be
* removed after the download operation has completed. * removed after the download operation has completed.
* @param handle an alpm handle
* @param dir existing sync or cache directory * @param dir existing sync or cache directory
* @param user download user name
* @return pointer to a sub-directory writable by the download user inside the existing directory. * @return pointer to a sub-directory writable by the download user inside the existing directory.
*/ */
char *_alpm_temporary_download_dir_setup(const char *dir, const char *user) char *_alpm_temporary_download_dir_setup(alpm_handle_t *handle, const char *dir)
{ {
const char *user = handle->sandboxuser;
uid_t myuid = getuid(); uid_t myuid = getuid();
struct passwd const *pw = NULL; struct passwd const *pw = NULL;

View file

@ -139,7 +139,7 @@ char *_alpm_filecache_find(alpm_handle_t *handle, const char *filename);
/* Checks whether a file exists in cache */ /* Checks whether a file exists in cache */
int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename); int _alpm_filecache_exists(alpm_handle_t *handle, const char *filename);
const char *_alpm_filecache_setup(alpm_handle_t *handle); const char *_alpm_filecache_setup(alpm_handle_t *handle);
char *_alpm_temporary_download_dir_setup(const char *dir, const char *user); char *_alpm_temporary_download_dir_setup(alpm_handle_t *handle, const char *dir);
void _alpm_remove_temporary_download_dir(const char *dir); void _alpm_remove_temporary_download_dir(const char *dir);
/* Unlike many uses of alpm_pkgvalidation_t, _alpm_test_checksum expects /* Unlike many uses of alpm_pkgvalidation_t, _alpm_test_checksum expects