New port security/lxqt-sudo
PR: 229293 Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D16944
This commit is contained in:
parent
def5672f5b
commit
7167b88f6a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=478364
@ -400,6 +400,7 @@
|
||||
SUBDIR += logcheck
|
||||
SUBDIR += luasec
|
||||
SUBDIR += luasec-51
|
||||
SUBDIR += lxqt-sudo
|
||||
SUBDIR += lynis
|
||||
SUBDIR += mac-robber
|
||||
SUBDIR += maia
|
||||
|
24
security/lxqt-sudo/Makefile
Normal file
24
security/lxqt-sudo/Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
# Created by: Olivier Duchateau
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= lxqt-sudo
|
||||
PORTVERSION= 0.13.0
|
||||
CATEGORIES= security
|
||||
MASTER_SITES= LXQT
|
||||
|
||||
MAINTAINER= jsm@FreeBSD.org
|
||||
COMMENT= GUI frontend to su/sudo for LXQt desktop
|
||||
|
||||
LICENSE= LGPL21+
|
||||
|
||||
RUN_DEPENDS= sudo:security/sudo
|
||||
|
||||
USES= cmake:outsource compiler:c++11-lib gettext kde:5 lxqt qt:5 \
|
||||
pkgconfig tar:xz
|
||||
USE_QT= buildtools_build qmake_build core dbus gui svg widgets \
|
||||
x11extras xml
|
||||
|
||||
USE_KDE= windowsystem
|
||||
USE_LXQT= buildtools lxqt
|
||||
|
||||
.include <bsd.port.mk>
|
3
security/lxqt-sudo/distinfo
Normal file
3
security/lxqt-sudo/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1527328596
|
||||
SHA256 (lxqt/lxqt-sudo-0.13.0.tar.xz) = 8e05adf4926eead9fa3015be54a76f67ebf3f7c40e1dea0bcafbcf4c38e548c8
|
||||
SIZE (lxqt/lxqt-sudo-0.13.0.tar.xz) = 16208
|
60
security/lxqt-sudo/files/patch-sudo.cpp
Normal file
60
security/lxqt-sudo/files/patch-sudo.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
--- sudo.cpp.orig 2018-05-21 19:10:17 UTC
|
||||
+++ sudo.cpp
|
||||
@@ -36,7 +36,13 @@
|
||||
#include <QSocketNotifier>
|
||||
#include <QDebug>
|
||||
#include <QThread>
|
||||
+#if defined(__linux__)
|
||||
#include <pty.h>
|
||||
+#elif defined(__FreeBSD__)
|
||||
+#include <libutil.h>
|
||||
+#include <errno.h>
|
||||
+#include <termios.h>
|
||||
+#endif
|
||||
#include <unistd.h>
|
||||
#include <memory>
|
||||
#include <csignal>
|
||||
@@ -52,6 +58,9 @@ namespace
|
||||
|
||||
const QString su_prog{QStringLiteral(LXQTSUDO_SU)};
|
||||
const QString sudo_prog{QStringLiteral(LXQTSUDO_SUDO)};
|
||||
+#ifdef __FreeBSD__
|
||||
+ const QString pwd_prompt_end_c_locale{QStringLiteral(":")};
|
||||
+#endif
|
||||
const QString pwd_prompt_end{QStringLiteral(": ")};
|
||||
const QChar nl{QLatin1Char('\n')};
|
||||
|
||||
@@ -179,6 +188,10 @@ void Sudo::child()
|
||||
if (BACK_SU == mBackend)
|
||||
{
|
||||
program = su_prog.toStdString();
|
||||
+#ifdef __FreeBSD__
|
||||
+ *(param_arg++) = "-m";
|
||||
+ *(param_arg++) = "root";
|
||||
+#endif
|
||||
*(param_arg++) = "-c"; //run command
|
||||
} else
|
||||
{
|
||||
@@ -200,7 +213,6 @@ void Sudo::child()
|
||||
|
||||
setsid(); //session leader
|
||||
execvp(params[0], const_cast<char **>(params.get()));
|
||||
-
|
||||
//exec never returns in case of success
|
||||
QTextStream{stderr, QIODevice::WriteOnly} << tr("%1: Failed to exec '%2': %3\n").arg(app_master).arg(params[0]).arg(strerror(errno));
|
||||
exit(1);
|
||||
@@ -277,8 +289,13 @@ int Sudo::parent()
|
||||
lxqtApp->quit();
|
||||
} else
|
||||
{
|
||||
- if (line.endsWith(pwd_prompt_end))
|
||||
+#ifdef __FreeBSD__
|
||||
+ if( line.endsWith(pwd_prompt_end_c_locale) || line.endsWith(pwd_prompt_end))
|
||||
+#else
|
||||
+ if(line.endsWith(pwd_prompt_end))
|
||||
+#endif
|
||||
{
|
||||
+
|
||||
//if now echo is turned off, su/sudo requests password
|
||||
struct termios tios;
|
||||
//loop to be sure we don't miss the flag (we can afford such small delay in "normal" output processing)
|
5
security/lxqt-sudo/pkg-descr
Normal file
5
security/lxqt-sudo/pkg-descr
Normal file
@ -0,0 +1,5 @@
|
||||
lxqt-sudo and lxsu is a graphical front-end of commands
|
||||
sudo and su respectively.
|
||||
It enables regular users to launch applications with permissions of root.
|
||||
|
||||
WWW: http://lxqt.org/
|
2
security/lxqt-sudo/pkg-message
Normal file
2
security/lxqt-sudo/pkg-message
Normal file
@ -0,0 +1,2 @@
|
||||
* You must be in the sudoers file in order to use lxqt-sudo
|
||||
* You must be in the the wheel group in order to use lxsu
|
6
security/lxqt-sudo/pkg-plist
Normal file
6
security/lxqt-sudo/pkg-plist
Normal file
@ -0,0 +1,6 @@
|
||||
bin/lxqt-sudo
|
||||
bin/lxsu
|
||||
bin/lxsudo
|
||||
man/man1/lxqt-sudo.1.gz
|
||||
man/man1/lxsu.1.gz
|
||||
man/man1/lxsudo.1.gz
|
Loading…
Reference in New Issue
Block a user