summaryrefslogtreecommitdiffstats
path: root/kdesu/client.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdesu/client.h')
-rw-r--r--kdesu/client.h207
1 files changed, 0 insertions, 207 deletions
diff --git a/kdesu/client.h b/kdesu/client.h
deleted file mode 100644
index 420d5dadd..000000000
--- a/kdesu/client.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/* vi: ts=8 sts=4 sw=4
- *
- * $Id$
- *
- * This file is part of the KDE project, module tdesu.
- * Copyright (C) 1999,2000 Geert Jansen <jansen@kde.org>
- *
- * This is free software; you can use this library under the GNU Library
- * General Public License, version 2. See the file "COPYING.LIB" for the
- * exact licensing terms.
- *
- * client.h: client to access tdesud.
- */
-
-#ifndef __KDE_su_Client_h_Included__
-#define __KDE_su_Client_h_Included__
-
-#include <tqglobal.h>
-#include <kdelibs_export.h>
-
-#ifdef Q_OS_UNIX
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-
-#include <tqcstring.h>
-#include <tqvaluelist.h>
-
-typedef TQValueList<TQCString> QCStringList;
-
-/**
- * A client class to access tdesud, the KDE su daemon. Kdesud can assist in
- * password caching in two ways:
- *
- * @li For high security passwords, like for su and ssh, it executes the
- * password requesting command for you. It feeds the password to the
- * command, without ever returning it to you, the user. The daemon should
- * be installed setgid nogroup, in order to be able to act as an inaccessible,
- * trusted 3rd party.
- * See exec, setPass, delCommand.
- *
- * @li For lower security passwords, like web and ftp passwords, it can act
- * as a persistent storage for string variables. These variables are
- * returned to the user, and the daemon doesn't need to be setgid nogroup
- * for this.
- * See setVar, delVar, delGroup.
- */
-
-class KDESU_EXPORT KDEsuClient {
-public:
- KDEsuClient();
- ~KDEsuClient();
-
- /**
- * Lets tdesud execute a command. If the daemon does not have a password
- * for this command, this will fail and you need to call setPass().
- *
- * @param command The command to execute.
- * @param user The user to run the command as.
- * @param options Extra options.
- * @param env Extra environment variables.
- * @return Zero on success, -1 on failure.
- */
- int exec(const TQCString &command, const TQCString &user, const TQCString &options=0, const QCStringList &env=QCStringList());
-
- /**
- * Wait for the last command to exit and return the exit code.
- * @return Exit code of last command, -1 on failure.
- */
- int exitCode();
-
- /**
- * Set root's password, lasts one session.
- *
- * @param pass Root's password.
- * @param timeout The time that a password will live.
- * @return Zero on success, -1 on failure.
- */
- int setPass(const char *pass, int timeout);
-
- /**
- * Set the target host (optional).
- */
- int setHost(const TQCString &host);
-
- /**
- * Set the desired priority (optional), see StubProcess.
- */
- int setPriority(int priority);
-
- /**
- * Set the desired scheduler (optional), see StubProcess.
- */
- int setScheduler(int scheduler);
-
- /**
- * Remove a password for a user/command.
- * @param command The command.
- * @param user The user.
- * @return zero on success, -1 on an error
- */
- int delCommand(const TQCString &command, const TQCString &user);
-
- /**
- * Set a persistent variable.
- * @param key The name of the variable.
- * @param value Its value.
- * @param timeout The timeout in seconds for this key. Zero means
- * no timeout.
- * @param group Make the key part of a group. See delGroup.
- * @return zero on success, -1 on failure.
- */
- int setVar(const TQCString &key, const TQCString &value, int timeout=0, const TQCString &group=0);
-
- /**
- * Get a persistent variable.
- * @param key The name of the variable.
- * @return Its value.
- */
- TQCString getVar(const TQCString &key);
-
- /**
- * Gets all the keys that are membes of the given group.
- * @param group the group name of the variables.
- * @return a list of the keys in the group.
- */
- TQValueList<TQCString> getKeys(const TQCString &group);
-
- /**
- * Returns true if the specified group exists is
- * cached.
- *
- * @param group the group key
- * @return true if the group is found
- */
- bool findGroup(const TQCString &group);
-
- /**
- * Delete a persistent variable.
- * @param key The name of the variable.
- * @return zero on success, -1 on failure.
- */
- int delVar(const TQCString &key);
-
- /**
- * Delete all persistent variables with the given key.
- *
- * A specicalized variant of delVar(TQCString) that removes all
- * subsets of the cached varaibles given by @p key. In order for all
- * cached variables related to this key to be deleted properly, the
- * value given to the @p group argument when the setVar function
- * was called, must be a subset of the argument given here and the key
- *
- * @note Simply supplying the group key here WILL not necessarily
- * work. If you only have a group key, then use delGroup instead.
- *
- * @param special_key the name of the variable.
- * @return zero on success, -1 on failure.
- */
- int delVars(const TQCString &special_key);
-
- /**
- * Delete all persistent variables in a group.
- *
- * @param group the group name. See setVar.
- * @return
- */
- int delGroup(const TQCString &group);
-
- /**
- * Ping tdesud. This can be used for diagnostics.
- * @return Zero on success, -1 on failure
- */
- int ping();
-
- /**
- * Stop the daemon.
- */
- int stopServer();
-
- /**
- * Try to start up tdesud
- */
- int startServer();
-
- /**
- * Returns true if the server is safe (installed setgid), false otherwise.
- */
- bool isServerSGID();
-
-private:
- int connect();
-
- int sockfd;
- TQCString sock;
-
- int command(const TQCString &cmd, TQCString *result=0L);
- TQCString escape(const TQCString &str);
-
- class KDEsuClientPrivate;
- KDEsuClientPrivate *d;
-};
-
-#endif //Q_OS_UNIX
-
-#endif //__KDE_su_Client_h_Included__