author | harlekin <harlekin> | 2005-01-11 16:09:07 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2005-01-11 16:09:07 (UTC) |
commit | 0619c844b8a3054c6d6e480ba1c90e3f42e63873 (patch) (side-by-side diff) | |
tree | 0ab4c5572ee7f85cd493a8229978549151f1772c | |
parent | 1833a9079cd7801f333ac3885b447520e44f937f (diff) | |
download | opie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.zip opie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.tar.gz opie-0619c844b8a3054c6d6e480ba1c90e3f42e63873.tar.bz2 |
important change to work arround issues with the real uid handling on sharps newer roms
-rw-r--r-- | noncore/apps/opie-console/fixit.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/fixit.cpp b/noncore/apps/opie-console/fixit.cpp index f170074..82a0339 100644 --- a/noncore/apps/opie-console/fixit.cpp +++ b/noncore/apps/opie-console/fixit.cpp @@ -1,25 +1,25 @@ - +#include <unistd.h> #include "fixit.h" using namespace Opie::Core; #ifdef FSCKED_DISTRI FixIt::FixIt() { /* the new inittab */ m_file = "#\n# /etc/inittab" "#" "" "# 0 - halt (Do NOT set initdefault to this)" "# 1 - Single user mode" "# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)" "# 3 - Full multiuser mode" "# 4 - JavaVM(Intent) developer mode" "# 5 - JavaVM(Intent)" "# 6 - reboot (Do NOT set initdefault to this)" "#" "id:5:initdefault:" "" "# Specify things to do when starting" "si::sysinit:/etc/rc.d/rc.sysinit" "" "l0:0:wait:/root/etc/rc.d/rc 0" @@ -42,53 +42,54 @@ FixIt::FixIt() { "1:2:respawn:/sbin/getty 9600 tty1" "ln:345:respawn:survive -l 6 /sbin/launch" "#qt:5:respawn:/sbin/qt" "" "# collie sp." "sy::respawn:/sbin/shsync\n"; } /* * the retail Zaurus is broken in many ways * one is that pppd is listening on our port... * we've to stop it from that and then do kill(SIGHUP,1); */ void FixIt::fixIt() { #ifndef EAST ::rename("/etc/inittab", QPEApplication::qpeDir() + "etc/inittab" ); QFile file( "/etc/inittab" ); if ( file.open(IO_WriteOnly | IO_Raw ) ) { file.writeBlock(m_file,strlen(m_file) ); } file.close(); ::kill( SIGHUP, 1 ); #else - + setuid(0); OProcess m_kill; m_kill << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_kill_0_1.sh"; - + if ( !m_kill.start(OProcess::DontCare,OProcess::NoCommunication) ) { owarn << "could not execute kill script" << oendl; } else { Global::statusMessage( QObject::tr("Fixing up Embedix")); } #endif } void FixIt::breakIt() { #ifdef EAST OProcess m_restart; + m_restart << QPEApplication::qpeDir() + "share/opie-console/sl6000_embedix_restart_0_1.sh"; - - + + if ( !m_restart.start(OProcess::DontCare,OProcess::NoCommunication) ) { owarn << "could not execute restart script" << oendl; } #endif } #endif |