From 7cbe4b61e38c144735141822e3f0c6c3acd789cf Mon Sep 17 00:00:00 2001 From: Jan Wagner Date: Tue, 23 May 2023 09:49:23 +0200 Subject: [PATCH] Adding d/p/22_check_disk_avoid_mount from upstream --- debian/patches/22_check_disk_avoid_mount | 47 ++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 48 insertions(+) create mode 100644 debian/patches/22_check_disk_avoid_mount diff --git a/debian/patches/22_check_disk_avoid_mount b/debian/patches/22_check_disk_avoid_mount new file mode 100644 index 0000000..49a7113 --- /dev/null +++ b/debian/patches/22_check_disk_avoid_mount @@ -0,0 +1,47 @@ +From 0dd11100aa92bab172293ec9615a8a56b0e35ee6 Mon Sep 17 00:00:00 2001 +From: Stefan Taferner +Date: Wed, 10 May 2023 19:28:05 +0200 +Subject: [PATCH] avoid mounting when searching for matching mount points + +--- + lib/utils_disk.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/lib/utils_disk.c b/lib/utils_disk.c +index 468769b19..582d3ea17 100644 +--- a/lib/utils_disk.c ++++ b/lib/utils_disk.c +@@ -147,24 +147,25 @@ np_set_best_match(struct parameter_list *desired, struct mount_entry *mount_list + + /* set best match if path name exactly matches a mounted device name */ + for (me = mount_list; me; me = me->me_next) { +- if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) < 0) +- continue; /* skip if permissions do not suffice for accessing device */ +- if (strcmp(me->me_devname, d->name)==0) +- best_match = me; ++ if (strcmp(me->me_devname, d->name)==0) { ++ if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) >= 0) { ++ best_match = me; ++ } ++ } + } + + /* set best match by directory name if no match was found by devname */ + if (! best_match) { + for (me = mount_list; me; me = me->me_next) { +- if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) < 0) +- continue; /* skip if permissions do not suffice for accessing device */ + size_t len = strlen (me->me_mountdir); + if ((exact == FALSE && (best_match_len <= len && len <= name_len && + (len == 1 || strncmp (me->me_mountdir, d->name, len) == 0))) + || (exact == TRUE && strcmp(me->me_mountdir, d->name)==0)) + { +- best_match = me; +- best_match_len = len; ++ if (get_fs_usage(me->me_mountdir, me->me_devname, &fsp) >= 0) { ++ best_match = me; ++ best_match_len = len; ++ } + } + } + } diff --git a/debian/patches/series b/debian/patches/series index c04e2ed..50665a4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,6 +13,7 @@ 19_check_nwstat_fix_typ 20_chech_nt_fix_encoding 21_check_pgsql_extra_output +22_check_disk_avoid_mount # feature patches 30_check_radius_radcli_1.3.1_support 31_checl_mailq_separate_submission_queue