diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/pinentry/pinentrydialog.cpp | 2 | ||||
-rw-r--r-- | src/pinentry/util.cpp | 84 | ||||
-rw-r--r-- | src/pinentry/util.h | 35 |
3 files changed, 1 insertions, 120 deletions
diff --git a/src/pinentry/pinentrydialog.cpp b/src/pinentry/pinentrydialog.cpp index 0eafeb42..1b08f1ab 100644 --- a/src/pinentry/pinentrydialog.cpp +++ b/src/pinentry/pinentrydialog.cpp @@ -532,7 +532,7 @@ void PinEntryDialog::textChanged(const QString &text) { } void PinEntryDialog::generatePin() { - unique_malloced_ptr<char> pin{pinentry_inq_genpin(_pinentry_info.get())}; + std::unique_ptr<char> pin{pinentry_inq_genpin(_pinentry_info.get())}; if (pin) { if (_edit->echoMode() == QLineEdit::Password) { if (mVisiActionEdit != nullptr) { diff --git a/src/pinentry/util.cpp b/src/pinentry/util.cpp deleted file mode 100644 index 5b4a4e80..00000000 --- a/src/pinentry/util.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* Quintuple Agent - * Copyright (C) 1999 Robert Bihlmeyer <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#define _GNU_SOURCE 1 - -#include <unistd.h> -#ifndef WINDOWS -#include <errno.h> -#endif -#include <assert.h> -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "util.h" - -#ifndef HAVE_DOSISH_SYSTEM -static int uid_set = 0; -static uid_t real_uid, file_uid; -#endif /*!HAVE_DOSISH_SYSTEM*/ - -#if 0 -extern int debug; - -int -debugmsg(const char *fmt, ...) -{ - va_list va; - int ret; - - if (debug) { - va_start(va, fmt); - fprintf(stderr, "\e[4m"); - ret = vfprintf(stderr, fmt, va); - fprintf(stderr, "\e[24m"); - va_end(va); - return ret; - } else - return 0; -} -#endif - -/* initialize uid variables */ -#ifndef HAVE_DOSISH_SYSTEM -static void init_uids(void) { - real_uid = getuid(); - file_uid = geteuid(); - uid_set = 1; -} -#endif - -/* drop all additional privileges */ -void drop_privs(void) { -#ifndef HAVE_DOSISH_SYSTEM - if (!uid_set) init_uids(); - if (real_uid != file_uid) { - if (setuid(real_uid) < 0) { - perror("dropping privileges failed"); - exit(EXIT_FAILURE); - } - file_uid = real_uid; - } -#endif -} diff --git a/src/pinentry/util.h b/src/pinentry/util.h deleted file mode 100644 index e6ad1dad..00000000 --- a/src/pinentry/util.h +++ /dev/null @@ -1,35 +0,0 @@ -/* util.h - Helper for managing malloced pointers - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <[email protected]> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_UTIL_H__ -#define __PINENTRY_QT_UTIL_H__ - -#include <stdlib.h> - -namespace _detail { -struct FreeDeleter { - void operator()(void *ptr) const { free(ptr); } -}; -} // namespace _detail - -template <class T> -using unique_malloced_ptr = std::unique_ptr<T, _detail::FreeDeleter>; - -#endif // __PINENTRY_QT_UTIL_H__ |