summaryrefslogtreecommitdiff
path: root/core/opie-login/main.cpp
Side-by-side diff
Diffstat (limited to 'core/opie-login/main.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/opie-login/main.cpp48
1 files changed, 25 insertions, 23 deletions
diff --git a/core/opie-login/main.cpp b/core/opie-login/main.cpp
index 3f1077c..b76d2c7 100644
--- a/core/opie-login/main.cpp
+++ b/core/opie-login/main.cpp
@@ -73,12 +73,15 @@ int main ( int argc, char **argv )
return 1;
}
- if ( ::getuid ( ) != 0 ) // qt doesn't really like SUID and
- ::setuid ( 0 ); // messes up things like config files
-
-// struct rlimit rl;
-// ::getrlimit ( RLIMIT_NOFILE, &rl );
-
-// for ( unsigned int i = 0; i < rl. rlim_cur; i++ )
-// ::close ( i );
+ /*!
+ * @bug
+ * Qte does not really like being set UID root. This is
+ * largely because we do almost everything on config files
+ * in root context. So if you even want to use opie-login
+ * you are in for a world of hurt unless someone at least
+ * scrubs the settings area and the PIM apps to make sure that
+ * they are covered regarding perms and users.
+ */
+ if ( ::getuid ( ) != 0 )
+ ::setuid ( 0 );
::setpgid ( 0, 0 );
@@ -95,5 +98,6 @@ int main ( int argc, char **argv )
c.setGroup( "autologin" );
QString entry = c.readEntry( "user", "" );
- if ( !entry.isEmpty() ) autolog = ::strdup( (const char*) entry );
+ if ( !entry.isEmpty() )
+ autolog = ::strdup( (const char*) entry );
while ( true ) {
@@ -108,5 +112,6 @@ int main ( int argc, char **argv )
time_t started = ::time ( 0 );
- while ( ::waitpid ( child, &status, 0 ) < 0 ) { }
+ while ( ::waitpid ( child, &status, 0 ) < 0 )
+ ;
LoginApplication::logout ( );
@@ -181,5 +186,4 @@ int main ( int argc, char **argv )
if ( autolog && !userExited ) {
-
QWSServer::setDesktopBackground( QImage() );
ODevice::inst()->setDisplayStatus( true );
@@ -187,5 +191,4 @@ int main ( int argc, char **argv )
LoginApplication::setLoginAs( autolog );
-
if ( LoginApplication::changeIdentity ( ))
::exit ( LoginApplication::login ( ));
@@ -246,4 +249,5 @@ public:
break;
case 2:
+ default:
// We're going to suspend the whole machine
if ( PowerStatusManager::readStatus().acStatus() != PowerStatus::Online ) {
@@ -256,6 +260,4 @@ public:
}
-private:
-public:
void setIntervals( int i1 = 30, int i2 = 20, int i3 = 60 )
{
@@ -290,4 +292,5 @@ public:
if ( m_backlight_forcedoff && bright != -2 )
return ;
+
if ( bright == -2 ) {
// Toggle between off and on
@@ -306,5 +309,4 @@ public:
private:
bool m_lcd_status;
-
int m_backlight_bright;
bool m_backlight_forcedoff;
@@ -321,5 +323,6 @@ int login_main ( int argc, char **argv, pid_t ppid )
if ( QWSServer::mouseHandler() &&
- QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
+ QWSServer::mouseHandler()-> inherits("QCalibratedMouseHandler") )
+ {
if ( !QFile::exists ( "/etc/pointercal" )) {
// Make sure calibration widget starts on top.
@@ -336,8 +339,8 @@ int login_main ( int argc, char **argv, pid_t ppid )
saver-> restore ( );
-
LoginWindowImpl *lw = new LoginWindowImpl ( );
app-> setMainWidget ( lw );
- lw-> setGeometry ( 0, 0, app-> desktop ( )-> width ( ), app-> desktop ( )-> height ( ));
+ lw-> setGeometry ( 0, 0, app-> desktop ( )-> width ( ),
+ app-> desktop ( )-> height ( ));
lw-> show ( );
@@ -347,15 +350,14 @@ int login_main ( int argc, char **argv, pid_t ppid )
if ( app-> changeIdentity ( )) {
app-> login ( );
-
// if login succeeds, it never comes back
-
- QMessageBox::critical ( 0, LoginWindowImpl::tr( "Failure" ), LoginWindowImpl::tr( "Could not start Opie." ));
+ QMessageBox::critical ( 0, LoginWindowImpl::tr( "Failure" ),
+ LoginWindowImpl::tr( "Could not start Opie." ));
rc = 1;
}
else {
- QMessageBox::critical ( 0, LoginWindowImpl::tr( "Failure" ), LoginWindowImpl::tr( "Could not switch to new user identity" ));
+ QMessageBox::critical ( 0, LoginWindowImpl::tr( "Failure" ),
+ LoginWindowImpl::tr( "Could not switch to new user identity" ));
rc = 2;
}
-
}
return rc;