[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5
From:       Dirk Mueller <mueller () kde ! org>
Date:       2006-10-04 23:00:25
Message-ID: 1160002825.521856.15020.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 592501 by mueller:

add --with-sudo-kdesu-backend configure switch
instead of hardcoding stuff in a couple of files


 M  +15 -0     kdebase/kdesu/configure.in.in  
 M  +0 -3      kdebase/kdesu/kdesu/sudlg.cpp  
 M  +19 -0     kdelibs/kdesu/configure.in.in  
 M  +0 -4      kdelibs/kdesu/process.cpp  
 M  +4 -8      kdelibs/kdesu/su.cpp  


--- branches/KDE/3.5/kdebase/kdesu/configure.in.in #592500:592501
@@ -36,3 +36,18 @@
 AC_MSG_RESULT($nogroup)
 AC_SUBST(nogroup)
 AC_CHECK_FUNCS(getpeereid)
+
+AC_ARG_WITH(sudo-kdesu-backend,
+	    AC_HELP_STRING([--with-sudo-kdesu-backend],
+			   [use sudo as backend for kdesu (default is su)]),
+[
+    if test x$withval = xyes; then
+        use_kdesu_backend="sudo"
+    else
+        use_kdesu_backend="su"
+    fi
+],
+    use_kdesu_backend="su"
+)
+
+AC_DEFINE_UNQUOTED(DEFAULT_SUPER_USER_COMMAND, "$use_kdesu_backend", [Use su or \
                sudo])
--- branches/KDE/3.5/kdebase/kdesu/kdesu/sudlg.cpp #592500:592501
@@ -13,9 +13,6 @@
 #include <kdesu/su.h>
 #include "sudlg.h"
 
-//change to sudo or su according to your preferences
-#define DEFAULT_SUPER_USER_COMMAND "su"
-
 KDEsuDialog::KDEsuDialog(QCString user, QCString auth_user, bool enableKeep,const \
                QString& icon, bool withIgnoreButton)
      : KPasswordDialog(Password, enableKeep, (withIgnoreButton ? User1:NoDefault), \
icon)  {
--- branches/KDE/3.5/kdelibs/kdesu/configure.in.in #592500:592501
@@ -14,6 +14,25 @@
     AC_DEFINE_UNQUOTED(__PATH_SUDO, "$path_sudo", [path to sudo])
 fi
 
+AC_ARG_WITH(sudo-kdesu-backend,
+	    AC_HELP_STRING([--with-sudo-kdesu-backend],
+			   [use sudo as backend for kdesu (default is su)]),
+[
+    if test x$withval = xyes; then
+        use_kdesu_backend="sudo"
+    else
+        use_kdesu_backend="su"
+    fi
+],
+    use_kdesu_backend="su"
+)
+
+if test x$use_kdesu_backend = xsudo -a x$path_sudo = xno; then
+    AC_MSG_ERROR(sudo was chosen as kdesu backend, but was not found in path.)
+fi
+
+AC_DEFINE_UNQUOTED(DEFAULT_SUPER_USER_COMMAND, "$use_kdesu_backend", [Use su or \
sudo]) +
 dnl Check for POSIX.1b scheduling
 AC_MSG_CHECKING([POSIX.1b scheduling])
 AC_TRY_LINK([
--- branches/KDE/3.5/kdelibs/kdesu/process.cpp #592500:592501
@@ -56,10 +56,6 @@
 #include "kdesu_pty.h"
 #include "kcookie.h"
 
-//change to sudo or su according to your preferences
-//also change in su.cpp and kdebase/kdesu/kdesu/sudlg.cpp
-#define DEFAULT_SUPER_USER_COMMAND "su"
-
 int PtyProcess::waitMS(int fd,int ms)
 {
 	struct timeval tv;
--- branches/KDE/3.5/kdelibs/kdesu/su.cpp #592500:592501
@@ -50,10 +50,6 @@
 #define __PATH_SUDO "false"
 #endif
 
-//change to sudo or su according to your preferences
-//also change in process.cpp and kdebase/kdesu/kdesu/sudlg.cpp
-#define DEFAULT_SUPER_USER_COMMAND "su"
-
 SuProcess::SuProcess(const QCString &user, const QCString &command)
 {
     m_User = user;
@@ -148,10 +144,10 @@
     SuErrors ret = (SuErrors) ConverseSU(password);
     // kdDebug(900) << k_lineinfo << "Conversation returned " << ret << endl;
 
-    if (ret == error) 
+    if (ret == error)
     {
         if (!check)
-            kdError(900) << k_lineinfo << "Conversation with su failed\n";
+            kdError(900) << k_lineinfo << "Conversation with " << superUserCommand \
<< " failed\n";  return ret;
     }
     if (check == NeedPassword)
@@ -238,7 +234,7 @@
     QCString line;
     while (true)
     {
-        line = readLine(); 
+        line = readLine();
         if (line.isNull())
             return ( state == HandleStub ? notauthorized : error);
         kdDebug(900) << k_lineinfo << "Read line <" << line << ">" << endl;
@@ -287,7 +283,7 @@
                         return killme;
                     if (!checkPid(m_Pid))
                     {
-                        kdError(900) << "su has exited while waiting for pwd." << \
endl; +                        kdError(900) << superUserCommand << " has exited while \
waiting for pwd." << endl;  return error;
                     }
                     if ((WaitSlave() == 0) && checkPid(m_Pid))


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic