summaryrefslogtreecommitdiff
path: root/noncore/settings
authorwimpie <wimpie>2004-08-19 21:48:46 (UTC)
committer wimpie <wimpie>2004-08-19 21:48:46 (UTC)
commit45616f57d3871827a247c1962e7c88699d111002 (patch) (unidiff)
tree7ad9cbe10eb624cb08a7a41944e59f0371547517 /noncore/settings
parentf58fb0a08321b6d8a9ce1bac2ce4b7eb67c27347 (diff)
downloadopie-45616f57d3871827a247c1962e7c88699d111002.zip
opie-45616f57d3871827a247c1962e7c88699d111002.tar.gz
opie-45616f57d3871827a247c1962e7c88699d111002.tar.bz2
Network_NN.cpp : had to generate full path to networksettings since
ifup (when run from hotplug) does not know about QPEDIR ... main.cpp : a bit more logging nsdata.cpp resources : optimized user detection code, report error when user could not be detected (instead of gracefull crash)
Diffstat (limited to 'noncore/settings') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/main.cpp4
-rw-r--r--noncore/settings/networksettings2/network/network_NN.cpp5
-rw-r--r--noncore/settings/networksettings2/networksettings2/resources.cpp109
-rw-r--r--noncore/settings/networksettings2/networksettings2/resources.h5
-rw-r--r--noncore/settings/networksettings2/nsdata.cpp12
5 files changed, 77 insertions, 58 deletions
diff --git a/noncore/settings/networksettings2/main.cpp b/noncore/settings/networksettings2/main.cpp
index 200e31b..9004d19 100644
--- a/noncore/settings/networksettings2/main.cpp
+++ b/noncore/settings/networksettings2/main.cpp
@@ -97,2 +97,3 @@ int main( int argc, char * argv[] ) {
97 NSResources->system().execAsUser( S, MyArgv ); 97 NSResources->system().execAsUser( S, MyArgv );
98 Log(("FAILED %s-cNN-allowed\n", argv[1] ));
98 // if we come here , failed 99 // if we come here , failed
@@ -111,4 +112,7 @@ int main( int argc, char * argv[] ) {
111 if( AP.exec() == QDialog::Accepted ) { 112 if( AP.exec() == QDialog::Accepted ) {
113 Log(("%s-c%ld-allowed\n",
114 argv[1], AP.selectedProfile() ));
112 printf( "%s-c%ld-allowed", argv[1], AP.selectedProfile() ); 115 printf( "%s-c%ld-allowed", argv[1], AP.selectedProfile() );
113 } else { 116 } else {
117 Log(("%s-c%NN-disallowed\n", argv[1] ));
114 printf( "%s-cNN-disallowed", argv[1] ); 118 printf( "%s-cNN-disallowed", argv[1] );
diff --git a/noncore/settings/networksettings2/network/network_NN.cpp b/noncore/settings/networksettings2/network/network_NN.cpp
index 1feffdb..b5c41bf 100644
--- a/noncore/settings/networksettings2/network/network_NN.cpp
+++ b/noncore/settings/networksettings2/network/network_NN.cpp
@@ -1 +1,2 @@
1#include <qpe/qpeapplication.h>
1#include <asdevice.h> 2#include <asdevice.h>
@@ -55,3 +56,5 @@ short NetworkNetNode::generateFile( const QString & ID,
55 << endl; 56 << endl;
56 TS << " script networksettings2-request" 57 TS << " script "
58 << QPEApplication::qpeDir()
59 << "/bin/networksettings2-request"
57 << endl 60 << endl
diff --git a/noncore/settings/networksettings2/networksettings2/resources.cpp b/noncore/settings/networksettings2/networksettings2/resources.cpp
index 7ece817..2f17693 100644
--- a/noncore/settings/networksettings2/networksettings2/resources.cpp
+++ b/noncore/settings/networksettings2/networksettings2/resources.cpp
@@ -296,10 +296,10 @@ typedef struct EnvVars {
296static EnvVar_t EV[] = { 296static EnvVar_t EV[] = {
297 // AnEV( "HOME=" ), -> SPECIAL 297 AnEV( "HOME" ),
298 // AnEV( "LOGNAME=" ), -> SPECIAL 298 AnEV( "LOGNAME" ),
299 AnEV( "USER=" ), 299 AnEV( "USER" ),
300 AnEV( "LD_LIBRARY_PATH=" ), 300 AnEV( "LD_LIBRARY_PATH" ),
301 AnEV( "PATH=" ), 301 AnEV( "PATH" ),
302 AnEV( "QTDIR=" ), 302 AnEV( "QTDIR" ),
303 AnEV( "OPIEDIR=" ), 303 AnEV( "OPIEDIR" ),
304 AnEV( "SHELL=" ), 304 AnEV( "SHELL" ),
305 { NULL, 0 } 305 { NULL, 0 }
@@ -311,2 +311,5 @@ void TheNSResources::detectCurrentUser( void ) {
311 311
312 CurrentUser.UserName = "";
313 CurrentUser.HomeDir = "";
314
312 if( getenv( "OPIEDIR" ) == 0 ) { 315 if( getenv( "OPIEDIR" ) == 0 ) {
@@ -369,28 +372,23 @@ void TheNSResources::detectCurrentUser( void ) {
369 while( Data < DataEnd ) { 372 while( Data < DataEnd ) {
370 if( strncmp( Data, "LOGNAME=", 8 ) == 0 ) {
371 CurrentUser.UserName = Data+8;
372 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 );
373 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] =
374 strdup( Data );
375 } else if( strncmp( Data, "HOME=", 5 ) == 0 ) {
376 CurrentUser.HomeDir = Data+5;
377 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 );
378 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] =
379 strdup( Data );
380 } else {
381 EnvVar_t * Run = EV;
382 while( Run->Name ) {
383 if( strncmp( Data, Run->Name, Run->Len ) == 0 ) {
384 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 );
385 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] =
386 strdup( Data );
387 // put OPIEDIR in env
388 if( strcmp( Run->Name, "OPIEDIR=" ) == 0 ) {
389 putenv( CurrentUser.EnvList[CurrentUser.EnvList.size()-1] );
390 373
391 } 374 EnvVar_t * Run = EV;
392 break; 375 while( Run->Name ) {
376 if( strncmp( Data, Run->Name, Run->Len ) == 0 &&
377 Data[Run->Len] == '='
378 ) {
379 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 );
380 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] =
381 strdup( Data );
382
383 if( strcmp( Run->Name, "OPIEDIR" ) == 0 ) {
384 // put OPIEDIR in env
385 putenv( CurrentUser.EnvList[CurrentUser.EnvList.size()-1] );
386 } else if( strcmp( Run->Name, "HOME" ) == 0 ) {
387 CurrentUser.HomeDir = Data+5;
388 } else if( strcmp( Run->Name, "LOGNAME" ) == 0 ) {
389 CurrentUser.UserName = Data+8;
393 } 390 }
394 Run ++; 391 break;
395 } 392 }
393 Run ++;
396 } 394 }
@@ -423,27 +421,26 @@ void TheNSResources::detectCurrentUser( void ) {
423 } else { 421 } else {
424 CurrentUser.UserName = getenv( "LOGNAME" ); 422 char * X;
425 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 423 QString S;
426 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = 424
427 strdup( CurrentUser.UserName ); 425 EnvVar_t * Run = EV;
428 426 while( Run->Name ) {
429 CurrentUser.HomeDir = getenv( "HOME" ); 427
430 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 428 if( ( X = getenv( Run->Name ) ) ) {
431 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = 429 Log(( "Env : %s = %s\n", Run->Name, X ));
432 strdup( CurrentUser.HomeDir ); 430
433 431 S.sprintf( "%s=%s", Run->Name, X );
434 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 432 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 );
435 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("USER"); 433 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] =
436 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 434 strdup( S.latin1() );
437 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("LD_LIBRARY_PATH"); 435
438 436 if( strcmp( Run->Name, "LOGNAME" ) == 0 ) {
439 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 437 CurrentUser.UserName = X;
440 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("PATH"); 438 } else if( strcmp( Run->Name, "HOME" ) == 0 ) {
441 439 CurrentUser.HomeDir = X;
442 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 440 } // regulare env var
443 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("QTDIR"); 441 } else {
444 442 Log(("Could not determine %s\n", Run->Name ));
445 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 443 }
446 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("OPIEDIR"); 444 Run ++;
447 CurrentUser.EnvList.resize( CurrentUser.EnvList.size()+1 ); 445 }
448 CurrentUser.EnvList[CurrentUser.EnvList.size()-1] = getenv("SHELL");
449 446
diff --git a/noncore/settings/networksettings2/networksettings2/resources.h b/noncore/settings/networksettings2/networksettings2/resources.h
index 16355ba..23b120e 100644
--- a/noncore/settings/networksettings2/networksettings2/resources.h
+++ b/noncore/settings/networksettings2/networksettings2/resources.h
@@ -29,2 +29,5 @@ public :
29 29
30 inline bool known( void )
31 { return ! HomeDir.isEmpty() && ! UserName.isEmpty(); }
32
30 QString UserName; 33 QString UserName;
@@ -101,2 +104,4 @@ public :
101 104
105 inline bool userKnown( void )
106 { return CurrentUser.known(); }
102 CurrentQPEUser & currentUser( void ) 107 CurrentQPEUser & currentUser( void )
diff --git a/noncore/settings/networksettings2/nsdata.cpp b/noncore/settings/networksettings2/nsdata.cpp
index d709c0a..e2dd5b5 100644
--- a/noncore/settings/networksettings2/nsdata.cpp
+++ b/noncore/settings/networksettings2/nsdata.cpp
@@ -17,2 +17,9 @@ NetworkSettingsData::NetworkSettingsData( void ) {
17 17
18 if( ! NSResources->userKnown() ) {
19 Log(( "Cannot detect qpe user HOME=\"%s\" USER=\"%s\"\n",
20 NSResources->currentUser().HomeDir.latin1(),
21 NSResources->currentUser().UserName.latin1() ));
22 return;
23 }
24
18 CfgFile.sprintf( "%s/Settings/NS2.conf", 25 CfgFile.sprintf( "%s/Settings/NS2.conf",
@@ -541,3 +548,4 @@ bool NetworkSettingsData::canStart( const char * Interface ) {
541 548
542 Log( ( "Possiblilies %d\n", PossibleConnections.count() )); 549 Log( ( "for %s : Possiblilies %d\n",
550 Interface, PossibleConnections.count() ));
543 switch( PossibleConnections.count() ) { 551 switch( PossibleConnections.count() ) {
@@ -571,2 +579,3 @@ bool NetworkSettingsData::canStart( const char * Interface ) {
571 // device is ready -> done 579 // device is ready -> done
580 Log(( "%s-c%d-allowed\n", Interface, NC->number() ));
572 printf( "%s-c%d-allowed\n", Interface, NC->number() ); 581 printf( "%s-c%d-allowed\n", Interface, NC->number() );
@@ -577,2 +586,3 @@ bool NetworkSettingsData::canStart( const char * Interface ) {
577 // if we come here no alternatives are possible 586 // if we come here no alternatives are possible
587 Log(( "%s-cnn-disallowed\n", Interface ));
578 printf( "%s-cnn-disallowed\n", Interface ); 588 printf( "%s-cnn-disallowed\n", Interface );