[PATCH] util/virutil: Use readpassphrase when libbsd is available

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

 



When libbsd is available, use the preferred readpassphrase() function isntead of getpass()
as the getpass() function has been marked as obsolete and shouldnt be used

Signed-off-by: Jakub Palacky <jpalacky@xxxxxxxxxx>
---
 meson.build        | 6 ++++++
 src/meson.build    | 1 +
 src/util/virutil.c | 6 ++++++
 3 files changed, 13 insertions(+)

diff --git a/meson.build b/meson.build
index 297fbfae48..699a65c7e8 100644
--- a/meson.build
+++ b/meson.build
@@ -954,6 +954,11 @@ if blkid_dep.found()
   conf.set('WITH_BLKID', 1)
 endif
 
+bsd_dep = dependency('libbsd', required: false)
+if bsd_dep.found()
+  conf.set('WITH_LIBBSD', 1)
+endif
+
 capng_dep = dependency('libcap-ng', required: get_option('capng'))
 if capng_dep.found()
   conf.set('WITH_CAPNG', 1)
@@ -2335,6 +2340,7 @@ libs_summary = {
   'dlopen': dlopen_dep.found(),
   'fuse': fuse_dep.found(),
   'glusterfs': glusterfs_dep.found(),
+  'libbsd': bsd_dep.found(),
   'libiscsi': libiscsi_dep.found(),
   'libkvm': libkvm_dep.found(),
   'libnbd': libnbd_dep.found(),
diff --git a/src/meson.build b/src/meson.build
index 8cce42c7ad..30ae34646e 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -9,6 +9,7 @@ src_dep = declare_dependency(
   dependencies: [
     glib_dep,
     libxml_dep,
+    bsd_dep,
   ],
   include_directories: [
     libvirt_inc,
diff --git a/src/util/virutil.c b/src/util/virutil.c
index 6c89a48e51..2e07372198 100644
--- a/src/util/virutil.c
+++ b/src/util/virutil.c
@@ -31,6 +31,10 @@
 # include <conio.h>
 #endif /* WIN32 */
 
+#ifdef WITH_LIBBSD
+# include <bsd/readpassphrase.h>
+#endif
+
 #ifdef __linux__
 # include <sys/sysmacros.h>
 #endif
@@ -1773,6 +1777,8 @@ char *virGetPassword(void)
     }
 
     return g_string_free(pw, FALSE);
+#elif WITH_LIBBSD /* !WIN32 */
+    return readpassphrase("", g_new0(char, 1024), 1024, 0);
 #else /* !WIN32 */
     return g_strdup(getpass(""));
 #endif /* ! WIN32 */
-- 
2.46.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux