summaryrefslogtreecommitdiff
path: root/core/opie-login/loginapplication.h
authorsandman <sandman>2002-12-17 19:41:05 (UTC)
committer sandman <sandman>2002-12-17 19:41:05 (UTC)
commit0e05c298cc4e5a5d509286e31a3a863e78c76456 (patch) (unidiff)
tree2a86553b593ff9690c14e1796c54c707f189fdf3 /core/opie-login/loginapplication.h
parent98f90f6ed89986485a1413c4325411e30f4c0693 (diff)
downloadopie-0e05c298cc4e5a5d509286e31a3a863e78c76456.zip
opie-0e05c298cc4e5a5d509286e31a3a863e78c76456.tar.gz
opie-0e05c298cc4e5a5d509286e31a3a863e78c76456.tar.bz2
Opie login becomes useable now:
- pre- and post-session scripts (in $OPIEDIR/share/opie-login) to fix things like device ownership to user/root - logging in now doesn't simply mean: execute bin/qpe. instead opie-login * first tries to execute ~/.opie-session * if that doesn't exist $OPIEDIR/share/opie-login/opie-session * if that fails too, execute $OPIEDIR/bin/qpe you can now handle things like ssh-agent on a per-user basis. (I'll commit the scripts later - for now it simply works like before)
Diffstat (limited to 'core/opie-login/loginapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/loginapplication.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/opie-login/loginapplication.h b/core/opie-login/loginapplication.h
index 4e7cf79..d8264ea 100644
--- a/core/opie-login/loginapplication.h
+++ b/core/opie-login/loginapplication.h
@@ -7,64 +7,68 @@
7:`=1 )Y*s>-.--   : the terms of the GNU General Public 7:`=1 )Y*s>-.--   : the terms of the GNU General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%`+i>       _;_. 11    .%`+i>       _;_.
12    .i_,=:_.      -<s. This file is distributed in the hope that 12    .i_,=:_.      -<s. This file is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
17..}^=.=       =       ; Public License for more details. 17..}^=.=       =       ; Public License for more details.
18++=   -.     .`     .: 18++=   -.     .`     .:
19 :     =  ...= . :.=- You should have received a copy of the GNU 19 :     =  ...= . :.=- You should have received a copy of the GNU
20 -.   .:....=;==+<; General Public License along with this file; 20 -.   .:....=;==+<; General Public License along with this file;
21  -_. . .   )=.  = see the file COPYING. If not, write to the 21  -_. . .   )=.  = see the file COPYING. If not, write to the
22    --        :-=` Free Software Foundation, Inc., 22    --        :-=` Free Software Foundation, Inc.,
23 59 Temple Place - Suite 330, 23 59 Temple Place - Suite 330,
24 Boston, MA 02111-1307, USA. 24 Boston, MA 02111-1307, USA.
25 25
26*/ 26*/
27 27
28#ifndef __OPIE_LOGINAPPLICATION_H__ 28#ifndef __OPIE_LOGINAPPLICATION_H__
29#define __OPIE_LOGINAPPLICATION_H__ 29#define __OPIE_LOGINAPPLICATION_H__
30 30
31#include <sys/types.h>
31#include <qstringlist.h> 32#include <qstringlist.h>
32
33#include <qpe/qpeapplication.h> 33#include <qpe/qpeapplication.h>
34 34
35#ifdef USEPAM 35#ifdef USEPAM
36struct pam_message; 36struct pam_message;
37struct pam_response; 37struct pam_response;
38#endif 38#endif
39 39
40class LoginApplication : public QPEApplication { 40class LoginApplication : public QPEApplication {
41public: 41public:
42 LoginApplication ( int &argc, char **argv, pid_t parentpid ); 42 LoginApplication ( int &argc, char **argv, pid_t parentpid );
43 43
44 static bool checkPassword ( const char *user, const char *password ); 44 static bool checkPassword ( const char *user, const char *password );
45 45
46 static const char *loginAs ( ); 46 static const char *loginAs ( );
47 static void setLoginAs ( const char *user ); 47 static void setLoginAs ( const char *user );
48 48
49 static bool changeIdentity ( ); 49 static bool changeIdentity ( );
50 static bool login ( ); 50 static bool login ( );
51 static void logout ( );
51 52
52 static QStringList allUsers ( ); 53 static QStringList allUsers ( );
53 54
54 void quitToConsole ( ); 55 void quitToConsole ( );
55 56
57 static bool runRootScript ( const char *base, const char *script, const char *param = 0 );
58 static void execUserScript ( const char *base, const char *script );
59
56private: 60private:
57 static const char *s_username; 61 static const char *s_username;
58 62
59#ifdef USEPAM 63#ifdef USEPAM
60 static int pam_helper ( int num_msg, const struct pam_message **msg, struct pam_response **resp, void * ); 64 static int pam_helper ( int num_msg, const struct pam_message **msg, struct pam_response **resp, void * );
61 static const char *s_pam_password; 65 static const char *s_pam_password;
62#endif 66#endif
63 67
64private: 68private:
65 pid_t m_parentpid; 69 pid_t m_parentpid;
66}; 70};
67 71
68extern LoginApplication *lApp; 72extern LoginApplication *lApp;
69 73
70#endif 74#endif